From 84aa62ed3cd89f25e65909b903a5dff64e72b37c Mon Sep 17 00:00:00 2001 From: Gabriel-Bueno32 Date: Mon, 11 Aug 2025 21:23:22 -0300 Subject: [PATCH 01/14] =?UTF-8?q?refactor:=20ajusta=20o=20codigo=20para=20?= =?UTF-8?q?n=C3=A3o=20criar=20e=20dropar=20mais=20as=20tabelas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/herbarium/herbariumdatabase.js | 111 ++++++++++++++++------------- src/herbarium/main.js | 24 +++---- 2 files changed, 74 insertions(+), 61 deletions(-) diff --git a/src/herbarium/herbariumdatabase.js b/src/herbarium/herbariumdatabase.js index 36471927..e305753d 100644 --- a/src/herbarium/herbariumdatabase.js +++ b/src/herbarium/herbariumdatabase.js @@ -47,31 +47,20 @@ export function selectCodBarra() { } /** - * A função criaTabelaReflora, cria uma tabela chamada reflora, - * com base no modelo que foi chamado e dentro desse modelo, - * existe nome das colunas que estarão presentes nessa tabela. - * Nessa tabela é guardado os códigos de barras, e as respostas das requisições. - * Detalhe force: true é igual ao drop table. - * @return tabelaReflora, que é a tabela que foi criada. - */ -export function criaTabelaReflora() { + * A função pegaTabelaReflora retorna o modelo da tabela specieslink existente no banco de dados. + * @return TabelaReflora, que é o modelo da tabela existente. + */ +export function pegaTabelaReflora() { const tabelaReflora = modeloReflora(conexao, Sequelize); - tabelaReflora.sync({ force: true }); - // tabelaReflora.removeAttribute('id'); return tabelaReflora; } /** - * A função criaTabelaSpecieslink, cria uma tabela chamada reflora, - * com base no modelo que foi chamado e dentro desse modelo, - * existe nome das colunas que estarão presentes nessa tabela. - * Nessa tabela é guardado os códigos de barras, e as respostas das requisições. - * Detalhe force: true é igual ao drop table. - * @return tabelaSpecieslink, que é a tabela que foi criada. + * A função pegaTabelaSpecieslink retorna o modelo da tabela specieslink existente no banco de dados. + * @return tabelaSpecieslink, que é o modelo da tabela existente. */ -export function criaTabelaSpecieslink() { +export function pegaTabelaSpecieslink() { const tabelaSpecieslink = modeloSpecieslink(conexao, Sequelize); - tabelaSpecieslink.sync({ force: true }); return tabelaSpecieslink; } @@ -797,68 +786,92 @@ export function insereAlteracaoSugerida(idUsuario, statusAlteracao, idTombo, tom } /** - * A função existeTabelaReflora, executa um SHOW TABLES verificando - * se existe a tabela do reflora ou não. Se existir a tabela do reflora - * retorna true, e caso não exista false. + * A função verificaSeTemDadosReflora verifica se a tabela Reflora possui algum dado. + * Retorna true se houver registros e false caso contrário. * @return promessa.promise, como é assíncrono ele só retorna quando resolver, ou seja, - * quando terminar de realizar a consulta de verificar se existe ou não a tabela. + * quando terminar de realizar a consulta. */ -export function existeTabelaReflora() { +export function verificaSeTemDadosReflora() { const promessa = Q.defer(); - conexao.query('SHOW TABLES', { type: Sequelize.QueryTypes.SHOWTABLES }).then(listaTabelas => { - listaTabelas.forEach(tabelas => { - if (tabelas === 'reflora') { + const tabelaReflora = modeloReflora(conexao, Sequelize); + + tabelaReflora.count() + .then(count => { + if (count > 0) { promessa.resolve(true); + } else { + promessa.resolve(false); } + }) + .catch(error => { + promessa.reject(error); }); - promessa.resolve(false); - }); + return promessa.promise; } /** - * A função existeTabelaReflora, executa um SHOW TABLES verificando - * se existe a tabela do reflora ou não. Se existir a tabela do reflora - * retorna true, e caso não exista false. + * A função verificaSeTemDadosSpecieslink verifica se a tabela specieslink possui algum dado. + * Retorna true se houver registros e false caso contrário. * @return promessa.promise, como é assíncrono ele só retorna quando resolver, ou seja, - * quando terminar de realizar a consulta de verificar se existe ou não a tabela. + * quando terminar de realizar a consulta. */ -export function existeTabelaSpecieslink() { +export function verificaSeTemDadosSpecieslink() { const promessa = Q.defer(); - conexao.query('SHOW TABLES', { type: Sequelize.QueryTypes.SHOWTABLES }).then(listaTabelas => { - listaTabelas.forEach(tabelas => { - if (tabelas === 'specieslink') { + const tabelaSpecieslink = modeloSpecieslink(conexao, Sequelize); + + tabelaSpecieslink.count() + .then(count => { + if (count > 0) { promessa.resolve(true); + } else { + promessa.resolve(false); } + }) + .catch(error => { + promessa.reject(error); }); - promessa.resolve(false); - }); + return promessa.promise; } /** - * A função apagaTabelaReflora, executa um DROP TABLE, ou seja, - * apagar uma tabela que no caso é a tabela do reflora. + * A função limpaTabelaReflora remove todos os dados da tabela reflora sem apagar sua estrutura. * @return promessa.promise, como é assíncrono ele só retorna quando resolver, ou seja, - * quando terminar de apagar a tabela. + * quando terminar de limpar a tabela. */ -export function apagaTabelaReflora() { +export function limpaTabelaReflora() { const promessa = Q.defer(); const tabelaReflora = modeloReflora(conexao, Sequelize); - promessa.resolve(tabelaReflora.drop()); + + tabelaReflora.truncate() + .then(() => { + promessa.resolve(); + }) + .catch(error => { + promessa.reject(error); + }); + return promessa.promise; } /** - * A função apagaTabelaSpecieslink, executa um DROP TABLE, ou seja, - * apagar uma tabela que no caso é a tabela do specieslink. + * A função limpaTabelaSpecieslink remove todos os dados da tabela Specieslink sem apagar sua estrutura. * @return promessa.promise, como é assíncrono ele só retorna quando resolver, ou seja, - * quando terminar de apagar a tabela. + * quando terminar de limpar a tabela. */ -export function apagaTabelaSpecieslink() { +export function limpaTabelaSpecieslink() { const promessa = Q.defer(); - const tabelaSpecieslink = modeloSpecieslink(conexao, Sequelize); - promessa.resolve(tabelaSpecieslink.drop()); + const TabelaSpecieslink = modeloSpecieslink(conexao, Sequelize); + + TabelaSpecieslink.truncate() + .then(() => { + promessa.resolve(); + }) + .catch(error => { + promessa.reject(error); + }); + return promessa.promise; } diff --git a/src/herbarium/main.js b/src/herbarium/main.js index d1c65ea9..ef923161 100644 --- a/src/herbarium/main.js +++ b/src/herbarium/main.js @@ -1,13 +1,13 @@ import Q from 'q'; import { - existeTabelaReflora, - existeTabelaSpecieslink, + verificaSeTemDadosReflora, + verificaSeTemDadosSpecieslink, atualizaFimTabelaConfiguracao, - criaTabelaSpecieslink, - criaTabelaReflora, - apagaTabelaReflora, - apagaTabelaSpecieslink, + pegaTabelaSpecieslink, + pegaTabelaReflora, + limpaTabelaReflora, + limpaTabelaSpecieslink, insereTabelaReflora, insereTabelaSpecieslink, selectCodBarra, @@ -40,7 +40,7 @@ function comecaAtualizacao(nomeArquivo, idServico) { const promessa = Q.defer(); if (idServico === 1) { escreveLOG(`reflora/${nomeArquivo}`, 'Inicializando a aplicação do Reflora.'); - const tabelaReflora = criaTabelaReflora(); + const tabelaReflora = pegaTabelaReflora(); selectCodBarra().then(listaCodBarra => { // insereTabelaReflora(tabelaReflora, listaCodBarra.slice(0, 1)).then(() => { insereTabelaReflora(tabelaReflora, geraListaAleatorio(listaCodBarra, 0)).then(() => { @@ -49,7 +49,7 @@ function comecaAtualizacao(nomeArquivo, idServico) { fazComparacaoTomboReflora().then(resultadoComparacao => { if (resultadoComparacao) { escreveLOG(`reflora/${nomeArquivo}`, 'O processo de comparação do Reflora acabou.'); - apagaTabelaReflora().then(() => { + limpaTabelaReflora().then(() => { promessa.resolve(); }); } @@ -60,7 +60,7 @@ function comecaAtualizacao(nomeArquivo, idServico) { }); } else if (idServico === 2) { escreveLOG(`specieslink/${nomeArquivo}`, 'Inicializando a aplicação do Specieslink.'); - const tabelaSpecieslink = criaTabelaSpecieslink(); + const tabelaSpecieslink = pegaTabelaSpecieslink(); selectCodBarra().then(listaCodBarra => { // insereTabelaSpecieslink(tabelaSpecieslink, listaCodBarra.slice(0, 1)).then(() => { insereTabelaSpecieslink(tabelaSpecieslink, geraListaAleatorio(listaCodBarra, 0)).then(() => { @@ -69,7 +69,7 @@ function comecaAtualizacao(nomeArquivo, idServico) { fazComparacaoTomboSpecieslink().then(resultadoComparacao => { if (resultadoComparacao) { escreveLOG(`specieslink/${nomeArquivo}`, 'O processo de comparação do SpeciesLink acabou.'); - apagaTabelaSpecieslink().then(() => { + limpaTabelaSpecieslink().then(() => { promessa.resolve(); }); } @@ -97,7 +97,7 @@ function comecaAtualizacao(nomeArquivo, idServico) { function ehPossivelFazerComparacao(nomeArquivo, idServico) { const promessa = Q.defer(); if (idServico === 1) { - existeTabelaReflora().then(existe => { + verificaSeTemDadosReflora().then(existe => { if (existe) { promessa.resolve(); } else { @@ -107,7 +107,7 @@ function ehPossivelFazerComparacao(nomeArquivo, idServico) { } }); } else if (idServico === 2) { - existeTabelaSpecieslink().then(existe => { + verificaSeTemDadosSpecieslink().then(existe => { if (existe) { promessa.resolve(); } else { From 0206aa322c24176b8d9fa32aa2f3bb1e57654804 Mon Sep 17 00:00:00 2001 From: Edvaldo Szymonek Date: Sat, 12 Apr 2025 23:31:48 -0300 Subject: [PATCH 02/14] =?UTF-8?q?cria=20estrutura=20para=20migra=C3=A7?= =?UTF-8?q?=C3=A3o=20de=20banco=20de=20dados?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .nvmrc | 2 +- .vscode/settings.json | 8 - docker-compose.yml | 2 +- package.json | 4 + src/database/apply-migration-service.ts | 51 +++++ src/database/cli.ts | 51 +++++ src/database/create-migration-service.ts | 19 ++ .../errors/corrupted-directory-error.ts | 13 ++ src/database/migration-data-source.ts | 39 ++++ src/database/migration-file-system.ts | 42 +++++ src/database/migrations/.gitkeep | 0 yarn.lock | 178 +++++++++++++++++- 12 files changed, 393 insertions(+), 16 deletions(-) create mode 100644 src/database/apply-migration-service.ts create mode 100644 src/database/cli.ts create mode 100644 src/database/create-migration-service.ts create mode 100644 src/database/errors/corrupted-directory-error.ts create mode 100644 src/database/migration-data-source.ts create mode 100644 src/database/migration-file-system.ts create mode 100644 src/database/migrations/.gitkeep diff --git a/.nvmrc b/.nvmrc index 8ddbc0c6..deed13c0 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18.16.0 +lts/jod diff --git a/.vscode/settings.json b/.vscode/settings.json index 0fdb0f9c..a547491a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -16,14 +16,6 @@ "files.insertFinalNewline": true, "files.eol": "\n", "liveServer.settings.port": 5501, - "cSpell.words": [ - "distro", - "caprover", - "certbot", - "lineinfile", - "blockinfile", - "pipeable" - ], "[javascript]": { "editor.tabSize": 4 } diff --git a/docker-compose.yml b/docker-compose.yml index 71ddc2cb..dbc02d62 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,7 @@ services: MYSQL_ROOT_PASSWORD: $MYSQL_PASSWORD volumes: - ./mysql/data:/var/lib/mysql - - ./mysql/initdb:/docker-entrypoint-initdb.d + - ./mysql/init.d:/docker-entrypoint-initdb.d ports: - ${MYSQL_PORT}:3306 command: diff --git a/package.json b/package.json index 667f145a..7ec775d6 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,8 @@ "node": "^22" }, "scripts": { + "migration:create": "tsx --env-file=.env src/database/cli.ts migration:create", + "migration:apply": "tsx --env-file=.env src/database/cli.ts migration:apply", "lint:typescript": "tsc --noEmit", "lint:eslint": "eslint --cache --fix --ext '.js,.ts,.tsx' .", "lint": "run-p lint:typescript lint:eslint", @@ -53,6 +55,7 @@ "bcrypt": "5.1.1", "bluebird": "3.7.2", "body-parser": "1.20.2", + "commander": "13.1.0", "cors": "2.8.5", "date-fns": "^2.30.0", "dotenv": "16.3.1", @@ -77,6 +80,7 @@ "swagger-jsdoc": "^6.2.8", "swagger-ui-express": "^5.0.1", "throttled-queue": "^1.0.5", + "tsx": "4.19.3", "uuid": "9.0.0", "wkhtmltopdf": "^0.4.0" }, diff --git a/src/database/apply-migration-service.ts b/src/database/apply-migration-service.ts new file mode 100644 index 00000000..fb3431e8 --- /dev/null +++ b/src/database/apply-migration-service.ts @@ -0,0 +1,51 @@ +import path from 'node:path' + +import { CorruptedDirectoryError } from './errors/corrupted-directory-error' +import { MigrationDataSource } from './migration-data-source' +import { MigrationFileSystem } from './migration-file-system' + +interface Dependencies { + migrationFileSystem: MigrationFileSystem + migrationDataSource: MigrationDataSource +} + +export class ApplyMigrationService { + + private readonly migrationFileSystem: MigrationFileSystem + private readonly migrationDataSource: MigrationDataSource + + constructor(readonly dependencies: Dependencies) { + this.migrationFileSystem = dependencies.migrationFileSystem + this.migrationDataSource = dependencies.migrationDataSource + } + + async execute() { + const migrationFilePaths = await this.migrationFileSystem.listMigrationFiles() + const migrationFileNames = migrationFilePaths.map(file => path.basename(file, '.sql')) + + await this.migrationDataSource.ensureMigrationTableExists() + const appliedMigrations = await this.migrationDataSource.getAppliedMigrations() + + const missingMigrations = appliedMigrations.filter(appliedMigration => !migrationFileNames.includes(appliedMigration.name)) + if (missingMigrations.length) { + const missingMigrationsNames = missingMigrations.map(migration => migration.name) + throw new CorruptedDirectoryError('The migration directory is missing some files', missingMigrationsNames) + } + + const unappliedMigrations = migrationFileNames + .filter(migrationFileName => !appliedMigrations.some(appliedMigration => appliedMigration.name === migrationFileName)) + + if (!unappliedMigrations.length) { + console.warn('No pending migrations to apply') + return + } + + /* eslint-disable no-restricted-syntax, no-await-in-loop */ + for (const migrationFileName of unappliedMigrations) { + const migrationFileContent = await this.migrationFileSystem.getMigrationFileContent(migrationFileName) + await this.migrationDataSource.applyMigration(migrationFileName, migrationFileContent) + } + /* eslint-enable no-restricted-syntax */ + } + +} diff --git a/src/database/cli.ts b/src/database/cli.ts new file mode 100644 index 00000000..057268e2 --- /dev/null +++ b/src/database/cli.ts @@ -0,0 +1,51 @@ +import { program } from 'commander' +import createKnex from 'knex' +import path from 'node:path' + +import { ApplyMigrationService } from './apply-migration-service' +import { CreateMigrationService } from './create-migration-service' +import { MigrationDataSource } from './migration-data-source' +import { MigrationFileSystem } from './migration-file-system' + +const { + MYSQL_DATABASE, + MYSQL_HOST, + MYSQL_PORT = '3306', + MYSQL_MIGRATION_USERNAME, + MYSQL_MIGRATION_PASSWORD +} = process.env + +const migrationKnex = createKnex({ + client: 'mysql2', + connection: { + database: MYSQL_DATABASE, + host: MYSQL_HOST, + port: parseInt(MYSQL_PORT), + user: MYSQL_MIGRATION_USERNAME, + password: MYSQL_MIGRATION_PASSWORD + } +}) + +const migrationFileSystem = new MigrationFileSystem({ migrationsPath: path.join(__dirname, 'migrations') }) +const migrationDataSource = new MigrationDataSource({ knex: migrationKnex, tableName: 'migrations' }) + +async function createMigration(name: string) { + const createMigrationService = new CreateMigrationService({ migrationFileSystem }) + await createMigrationService.execute(name) +} + +async function applyMigrations() { + const applyMigrationsService = new ApplyMigrationService({ migrationFileSystem, migrationDataSource }) + await applyMigrationsService.execute() + await migrationKnex.destroy() +} + +program + .command('migration:create') + .argument('', 'The name of the migration') + .action(createMigration) + +program.command('migration:apply') + .action(applyMigrations) + +program.parse(process.argv) diff --git a/src/database/create-migration-service.ts b/src/database/create-migration-service.ts new file mode 100644 index 00000000..11865658 --- /dev/null +++ b/src/database/create-migration-service.ts @@ -0,0 +1,19 @@ +import { MigrationFileSystem } from './migration-file-system' + +interface Dependencies { + migrationFileSystem: MigrationFileSystem +} + +export class CreateMigrationService { + + private readonly migrationFileSystem: MigrationFileSystem + + constructor(readonly dependencies: Dependencies) { + this.migrationFileSystem = dependencies.migrationFileSystem + } + + async execute(name: string): Promise { + return this.migrationFileSystem.createMigrationFile(name) + } + +} diff --git a/src/database/errors/corrupted-directory-error.ts b/src/database/errors/corrupted-directory-error.ts new file mode 100644 index 00000000..edd53190 --- /dev/null +++ b/src/database/errors/corrupted-directory-error.ts @@ -0,0 +1,13 @@ +export class CorruptedDirectoryError extends Error { + + override readonly message: string + readonly missingFiles: string[] + + constructor(message: string, missingFiles: string[]) { + super(message) + this.message = message + this.name = 'CorruptedDirectoryError' + this.missingFiles = missingFiles + } + +} diff --git a/src/database/migration-data-source.ts b/src/database/migration-data-source.ts new file mode 100644 index 00000000..96be5c57 --- /dev/null +++ b/src/database/migration-data-source.ts @@ -0,0 +1,39 @@ +import { Knex } from 'knex' + +interface Dependencies { + knex: Knex + tableName: string +} + +export class MigrationDataSource { + + private readonly knex: Knex + private readonly tableName: string + + constructor(readonly dependencies: Dependencies) { + this.knex = dependencies.knex + this.tableName = dependencies.tableName + } + + async ensureMigrationTableExists(): Promise { + const exists = await this.knex.schema.hasTable(this.tableName) + if (exists) return + + await this.knex.schema.createTableIfNotExists(this.tableName, table => { + table.string('name', 300).primary() + table.dateTime('applied_at').notNullable() + }) + } + + async getAppliedMigrations(): Promise> { + return this.knex(this.tableName).select(['name', 'applied_at']) + } + + async applyMigration(name: string, content: string): Promise { + await this.knex.transaction(async trx => { + await trx.raw(content) + await trx(this.tableName).insert({ name, applied_at: new Date() }) + }) + } + +} diff --git a/src/database/migration-file-system.ts b/src/database/migration-file-system.ts new file mode 100644 index 00000000..72c3967a --- /dev/null +++ b/src/database/migration-file-system.ts @@ -0,0 +1,42 @@ +import fs from 'node:fs' +import path from 'node:path' + +interface Dependencies { + migrationsPath: string +} + +export class MigrationFileSystem { + + private readonly migrationsPath: string + + constructor(readonly dependencies: Dependencies) { + this.migrationsPath = dependencies.migrationsPath + } + + async createMigrationFile(name: string): Promise { + const timestamp = new Date().toISOString() + .substring(0, 19) // 2025-04-12T16:39:06.000Z => 20250412163906 + .replace(/\D/g, '') + const fileName = `${timestamp}_${name}` + + const upFilePath = path.join(this.migrationsPath, `${fileName}.sql`) + + fs.writeFileSync(upFilePath, '') + + return upFilePath + } + + async listMigrationFiles(): Promise { + const files = fs.readdirSync(this.migrationsPath) + return files + .filter(file => file.endsWith('.sql')) + .sort() + .map(file => path.join(this.migrationsPath, file)) + } + + async getMigrationFileContent(name: string): Promise { + const filePath = path.join(this.migrationsPath, `${name}.sql`) + return fs.readFileSync(filePath, 'utf8') + } + +} diff --git a/src/database/migrations/.gitkeep b/src/database/migrations/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/yarn.lock b/yarn.lock index b46e04f3..91d52d31 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1075,6 +1075,131 @@ resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@esbuild/aix-ppc64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz#b87036f644f572efb2b3c75746c97d1d2d87ace8" + integrity sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag== + +"@esbuild/android-arm64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz#5ca7dc20a18f18960ad8d5e6ef5cf7b0a256e196" + integrity sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w== + +"@esbuild/android-arm@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.2.tgz#3c49f607b7082cde70c6ce0c011c362c57a194ee" + integrity sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA== + +"@esbuild/android-x64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.2.tgz#8a00147780016aff59e04f1036e7cb1b683859e2" + integrity sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg== + +"@esbuild/darwin-arm64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz#486efe7599a8d90a27780f2bb0318d9a85c6c423" + integrity sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA== + +"@esbuild/darwin-x64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz#95ee222aacf668c7a4f3d7ee87b3240a51baf374" + integrity sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA== + +"@esbuild/freebsd-arm64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz#67efceda8554b6fc6a43476feba068fb37fa2ef6" + integrity sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w== + +"@esbuild/freebsd-x64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz#88a9d7ecdd3adadbfe5227c2122d24816959b809" + integrity sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ== + +"@esbuild/linux-arm64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz#87be1099b2bbe61282333b084737d46bc8308058" + integrity sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g== + +"@esbuild/linux-arm@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz#72a285b0fe64496e191fcad222185d7bf9f816f6" + integrity sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g== + +"@esbuild/linux-ia32@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz#337a87a4c4dd48a832baed5cbb022be20809d737" + integrity sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ== + +"@esbuild/linux-loong64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz#1b81aa77103d6b8a8cfa7c094ed3d25c7579ba2a" + integrity sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w== + +"@esbuild/linux-mips64el@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz#afbe380b6992e7459bf7c2c3b9556633b2e47f30" + integrity sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q== + +"@esbuild/linux-ppc64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz#6bf8695cab8a2b135cca1aa555226dc932d52067" + integrity sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g== + +"@esbuild/linux-riscv64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz#43c2d67a1a39199fb06ba978aebb44992d7becc3" + integrity sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw== + +"@esbuild/linux-s390x@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz#419e25737ec815c6dce2cd20d026e347cbb7a602" + integrity sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q== + +"@esbuild/linux-x64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz#22451f6edbba84abe754a8cbd8528ff6e28d9bcb" + integrity sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg== + +"@esbuild/netbsd-arm64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz#744affd3b8d8236b08c5210d828b0698a62c58ac" + integrity sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw== + +"@esbuild/netbsd-x64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz#dbbe7521fd6d7352f34328d676af923fc0f8a78f" + integrity sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg== + +"@esbuild/openbsd-arm64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz#f9caf987e3e0570500832b487ce3039ca648ce9f" + integrity sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg== + +"@esbuild/openbsd-x64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz#d2bb6a0f8ffea7b394bb43dfccbb07cabd89f768" + integrity sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw== + +"@esbuild/sunos-x64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz#49b437ed63fe333b92137b7a0c65a65852031afb" + integrity sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA== + +"@esbuild/win32-arm64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz#081424168463c7d6c7fb78f631aede0c104373cf" + integrity sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q== + +"@esbuild/win32-ia32@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz#3f9e87143ddd003133d21384944a6c6cadf9693f" + integrity sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg== + +"@esbuild/win32-x64@0.25.2": + version "0.25.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz#839f72c2decd378f86b8f525e1979a97b920c67d" + integrity sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA== + "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.5.1" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz" @@ -2535,10 +2660,10 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75" - integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q== +commander@13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-13.1.0.tgz#776167db68c78f38dcce1f9b8d7b8b9a488abf46" + integrity sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw== commander@^10.0.0: version "10.0.1" @@ -3098,6 +3223,37 @@ es-to-primitive@^1.3.0: is-date-object "^1.0.5" is-symbol "^1.0.4" +esbuild@~0.25.0: + version "0.25.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.2.tgz#55a1d9ebcb3aa2f95e8bba9e900c1a5061bc168b" + integrity sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ== + optionalDependencies: + "@esbuild/aix-ppc64" "0.25.2" + "@esbuild/android-arm" "0.25.2" + "@esbuild/android-arm64" "0.25.2" + "@esbuild/android-x64" "0.25.2" + "@esbuild/darwin-arm64" "0.25.2" + "@esbuild/darwin-x64" "0.25.2" + "@esbuild/freebsd-arm64" "0.25.2" + "@esbuild/freebsd-x64" "0.25.2" + "@esbuild/linux-arm" "0.25.2" + "@esbuild/linux-arm64" "0.25.2" + "@esbuild/linux-ia32" "0.25.2" + "@esbuild/linux-loong64" "0.25.2" + "@esbuild/linux-mips64el" "0.25.2" + "@esbuild/linux-ppc64" "0.25.2" + "@esbuild/linux-riscv64" "0.25.2" + "@esbuild/linux-s390x" "0.25.2" + "@esbuild/linux-x64" "0.25.2" + "@esbuild/netbsd-arm64" "0.25.2" + "@esbuild/netbsd-x64" "0.25.2" + "@esbuild/openbsd-arm64" "0.25.2" + "@esbuild/openbsd-x64" "0.25.2" + "@esbuild/sunos-x64" "0.25.2" + "@esbuild/win32-arm64" "0.25.2" + "@esbuild/win32-ia32" "0.25.2" + "@esbuild/win32-x64" "0.25.2" + escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" @@ -3624,7 +3780,7 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.3.2, fsevents@~2.3.2: +fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -3743,7 +3899,7 @@ get-symbol-description@^1.1.0: es-errors "^1.3.0" get-intrinsic "^1.2.6" -get-tsconfig@^4.5.0: +get-tsconfig@^4.5.0, get-tsconfig@^4.7.5: version "4.10.0" resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz" integrity sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A== @@ -6903,6 +7059,16 @@ tslib@^2.0.1: resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== +tsx@4.19.3: + version "4.19.3" + resolved "https://registry.yarnpkg.com/tsx/-/tsx-4.19.3.tgz#2bdbcb87089374d933596f8645615142ed727666" + integrity sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ== + dependencies: + esbuild "~0.25.0" + get-tsconfig "^4.7.5" + optionalDependencies: + fsevents "~2.3.3" + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" From 474581c43593a4f87d9bf6f8fc878f20c440c3eb Mon Sep 17 00:00:00 2001 From: Edvaldo Szymonek Date: Mon, 14 Apr 2025 21:34:53 -0300 Subject: [PATCH 03/14] atualiza bibliotecas do projeto --- .husky/pre-commit | 3 - package.json | 31 +- src/middlewares/validacoes-middleware.js | 2 +- yarn.lock | 1251 +++++++++++----------- 4 files changed, 624 insertions(+), 663 deletions(-) mode change 100755 => 100644 .husky/pre-commit diff --git a/.husky/pre-commit b/.husky/pre-commit old mode 100755 new mode 100644 index 75fac8e1..3867a0fe --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1 @@ -#!/usr/bin/env sh -. "$(dirname -- "$0")/_/husky.sh" - npm run lint diff --git a/package.json b/package.json index 7ec775d6..a1b9b5c0 100644 --- a/package.json +++ b/package.json @@ -20,12 +20,12 @@ "start": "nodemon --ext 'js,ts,tsx' --exec babel-node --extensions '.js,.ts,.tsx' ./src/index.js", "build": "run-s clean build:app", "test": "jest", - "prepare": "husky install" + "prepare": "husky" }, "devDependencies": { - "@babel/cli": "7.22.10", - "@babel/core": "7.22.11", - "@babel/node": "7.22.10", + "@babel/cli": "7.27.0", + "@babel/core": "7.26.10", + "@babel/node": "7.26.0", "@babel/plugin-proposal-class-properties": "7.18.6", "@babel/preset-env": "7.22.10", "@babel/preset-react": "7.26.3", @@ -37,6 +37,7 @@ "@typescript-eslint/parser": "6.7.0", "babel-plugin-module-resolver": "5.0.0", "chai": "4.1.2", + "axios": "1.8.4", "chai-http": "^4.0.0", "eslint": "8.49.0", "eslint-config-airbnb-base": "15.0.0", @@ -44,32 +45,32 @@ "eslint-import-resolver-typescript": "3.6.0", "eslint-plugin-import": "2.28.1", "eslint-plugin-import-helpers": "1.3.1", - "husky": "8.0.3", + "husky": "9.1.7", "jest": "29.7.0", - "nodemon": "3.0.1", + "nodemon": "3.1.9", "npm-run-all": "4.1.5", - "typescript": "5.2.2" + "typescript": "5.8.3" }, "dependencies": { "axios": "^1.10.0", "bcrypt": "5.1.1", "bluebird": "3.7.2", - "body-parser": "1.20.2", + "body-parser": "2.2.0", "commander": "13.1.0", "cors": "2.8.5", - "date-fns": "^2.30.0", + "date-fns": "4.1.0", "dotenv": "16.3.1", "ejs": "^2.6.1", - "express": "4.18.2", - "express-validator": "^5.3.0", + "express": "5.1.0", + "express-validator": "7.2.1", "handlebars": "^4.7.8", - "jsonwebtoken": "9.0.1", + "jsonwebtoken": "9.0.2", "knex": "2.5.1", "moment": "^2.24.0", "moment-timezone": "^0.5.21", "morgan": "1.10.0", - "multer": "1.4.5-lts.1", - "mysql2": "3.6.0", + "multer": "1.4.5-lts.2", + "mysql2": "3.14.0", "node-wkhtmltopdf": "^2.0.0", "puppeteer": "24.6.0", "q": "^1.5.1", @@ -81,7 +82,7 @@ "swagger-ui-express": "^5.0.1", "throttled-queue": "^1.0.5", "tsx": "4.19.3", - "uuid": "9.0.0", + "uuid": "11.1.0", "wkhtmltopdf": "^0.4.0" }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" diff --git a/src/middlewares/validacoes-middleware.js b/src/middlewares/validacoes-middleware.js index 940bd802..22a995e2 100644 --- a/src/middlewares/validacoes-middleware.js +++ b/src/middlewares/validacoes-middleware.js @@ -1,4 +1,4 @@ -import { checkSchema, validationResult } from 'express-validator/check'; +import { checkSchema, validationResult } from 'express-validator'; import UnprocessableEntityException from '../errors/unprocessable-entity-exception'; diff --git a/yarn.lock b/yarn.lock index 91d52d31..d61d71e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,55 +10,23 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@apidevtools/json-schema-ref-parser@^9.0.6": - version "9.1.2" - resolved "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.1.2.tgz#8ff5386b365d4c9faa7c8b566ff16a46a577d9b8" - integrity sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg== - dependencies: - "@jsdevtools/ono" "^7.1.3" - "@types/json-schema" "^7.0.6" - call-me-maybe "^1.0.1" - js-yaml "^4.1.0" - -"@apidevtools/openapi-schemas@^2.0.4": - version "2.1.0" - resolved "https://registry.npmjs.org/@apidevtools/openapi-schemas/-/openapi-schemas-2.1.0.tgz#9fa08017fb59d80538812f03fc7cac5992caaa17" - integrity sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ== - -"@apidevtools/swagger-methods@^3.0.2": - version "3.0.2" - resolved "https://registry.npmjs.org/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz#b789a362e055b0340d04712eafe7027ddc1ac267" - integrity sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg== - -"@apidevtools/swagger-parser@10.0.3": - version "10.0.3" - resolved "https://registry.npmjs.org/@apidevtools/swagger-parser/-/swagger-parser-10.0.3.tgz#32057ae99487872c4dd96b314a1ab4b95d89eaf5" - integrity sha512-sNiLY51vZOmSPFZA5TF35KZ2HbgYklQnTSDnkghamzLb3EkNtcQnrBQEj5AOCxHpTtXpqMCRM1CrmV2rG6nw4g== - dependencies: - "@apidevtools/json-schema-ref-parser" "^9.0.6" - "@apidevtools/openapi-schemas" "^2.0.4" - "@apidevtools/swagger-methods" "^3.0.2" - "@jsdevtools/ono" "^7.1.3" - call-me-maybe "^1.0.1" - z-schema "^5.0.1" - -"@babel/cli@7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/cli/-/cli-7.22.10.tgz" - integrity sha512-rM9ZMmaII630zGvtMtQ3P4GyHs28CHLYE9apLG7L8TgaSqcfoIGrlLSLsh4Q8kDTdZQQEXZm1M0nQtOvU/2heg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.17" - commander "^4.0.1" - convert-source-map "^1.1.0" +"@babel/cli@7.27.0": + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.27.0.tgz#076603b25fc7dd88298ea94ab249c8237c7e71cc" + integrity sha512-bZfxn8DRxwiVzDO5CEeV+7IqXeCkzI4yYnrQbpwjT76CUyossQc6RYE7n+xfm0/2k40lPaCpW0FhxYs7EBAetw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.25" + commander "^6.2.0" + convert-source-map "^2.0.0" fs-readdir-recursive "^1.1.0" glob "^7.2.0" make-dir "^2.1.0" slash "^2.0.0" optionalDependencies: "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" - chokidar "^3.4.0" + chokidar "^3.6.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.10", "@babel/code-frame@^7.26.2": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.26.2": version "7.26.2" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz" integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== @@ -67,33 +35,12 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.26.8": +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.26.8": version "7.26.8" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz" integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== -"@babel/core@7.22.11": - version "7.22.11" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.11.tgz" - integrity sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.10" - "@babel/generator" "^7.22.10" - "@babel/helper-compilation-targets" "^7.22.10" - "@babel/helper-module-transforms" "^7.22.9" - "@babel/helpers" "^7.22.11" - "@babel/parser" "^7.22.11" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.11" - "@babel/types" "^7.22.11" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": +"@babel/core@7.26.10", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": version "7.26.10" resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz" integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ== @@ -114,7 +61,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.22.10", "@babel/generator@^7.26.10", "@babel/generator@^7.27.0", "@babel/generator@^7.7.2": +"@babel/generator@^7.26.10", "@babel/generator@^7.27.0", "@babel/generator@^7.7.2": version "7.27.0" resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz" integrity sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw== @@ -132,7 +79,7 @@ dependencies: "@babel/types" "^7.25.9" -"@babel/helper-compilation-targets@^7.22.10", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9", "@babel/helper-compilation-targets@^7.26.5": +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9", "@babel/helper-compilation-targets@^7.26.5": version "7.27.0" resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz" integrity sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA== @@ -165,29 +112,7 @@ regexpu-core "^6.2.0" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.4.4": - version "0.4.4" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz" - integrity sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-define-polyfill-provider@^0.5.0": - version "0.5.0" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz" - integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-define-polyfill-provider@^0.6.4": +"@babel/helper-define-polyfill-provider@^0.6.3", "@babel/helper-define-polyfill-provider@^0.6.4": version "0.6.4" resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz" integrity sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw== @@ -214,7 +139,7 @@ "@babel/traverse" "^7.25.9" "@babel/types" "^7.25.9" -"@babel/helper-module-transforms@^7.22.9", "@babel/helper-module-transforms@^7.25.9", "@babel/helper-module-transforms@^7.26.0": +"@babel/helper-module-transforms@^7.25.9", "@babel/helper-module-transforms@^7.26.0": version "7.26.0" resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz" integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== @@ -230,7 +155,7 @@ dependencies: "@babel/types" "^7.25.9" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.26.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.26.5", "@babel/helper-plugin-utils@^7.8.0": version "7.26.5" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz" integrity sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg== @@ -271,7 +196,7 @@ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz" integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== -"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.22.5", "@babel/helper-validator-option@^7.25.9": +"@babel/helper-validator-option@^7.25.9": version "7.25.9" resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz" integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== @@ -285,7 +210,7 @@ "@babel/traverse" "^7.25.9" "@babel/types" "^7.25.9" -"@babel/helpers@^7.22.11", "@babel/helpers@^7.26.10": +"@babel/helpers@^7.26.10": version "7.27.0" resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz" integrity sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg== @@ -293,41 +218,64 @@ "@babel/template" "^7.27.0" "@babel/types" "^7.27.0" -"@babel/node@7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/node/-/node-7.22.10.tgz" - integrity sha512-FpSgdjIPabpEetDxtKYAcXCs0qRh12S2D40rhpRoo0w5h7/7Tu2ZroaX99cbKFNDODiSs484sZ1q0kutJbZ2iQ== +"@babel/node@7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.26.0.tgz#4b126f4eb56a05a97990a650fae0a24ad9b0c583" + integrity sha512-5ASMjh42hbnqyCOK68Q5chh1jKAqn91IswFTN+niwt4FLABhEWCT1tEuuo6mlNQ4WG/oFQLvJ71PaHAKtWtJyA== dependencies: - "@babel/register" "^7.22.5" - commander "^4.0.1" + "@babel/register" "^7.25.9" + commander "^6.2.0" core-js "^3.30.2" node-environment-flags "^1.0.5" regenerator-runtime "^0.14.0" v8flags "^3.1.1" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.11", "@babel/parser@^7.23.9", "@babel/parser@^7.26.10", "@babel/parser@^7.27.0": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.26.10", "@babel/parser@^7.27.0": version "7.27.0" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz" integrity sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg== dependencies: "@babel/types" "^7.27.0" -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5": +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe" + integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz#af9e4fb63ccb8abcb92375b2fcfe36b60c774d30" + integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz#e8dc26fcd616e6c5bf2bd0d5a2c151d4f92a9137" integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.5": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz#807a667f9158acac6f6164b4beb85ad9ebc9e1d1" integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g== dependencies: "@babel/helper-plugin-utils" "^7.25.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" "@babel/plugin-transform-optional-chaining" "^7.25.9" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz#de7093f1e7deaf68eadd7cc6b07f2ab82543269e" + integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/plugin-proposal-class-properties@7.18.6": version "7.18.6" resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" @@ -369,28 +317,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.22.5": +"@babel/plugin-syntax-import-assertions@^7.26.0": version "7.26.0" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz#620412405058efa56e4a564903b79355020f445f" integrity sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-syntax-import-attributes@^7.22.5", "@babel/plugin-syntax-import-attributes@^7.24.7": +"@babel/plugin-syntax-import-attributes@^7.24.7", "@babel/plugin-syntax-import-attributes@^7.26.0": version "7.26.0" resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz" integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== @@ -489,64 +423,64 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.22.5": +"@babel/plugin-transform-arrow-functions@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz#7821d4410bee5daaadbb4cdd9a6649704e176845" integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-async-generator-functions@^7.22.10": +"@babel/plugin-transform-async-generator-functions@^7.26.8": version "7.26.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz#5e3991135e3b9c6eaaf5eff56d1ae5a11df45ff8" integrity sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg== dependencies: "@babel/helper-plugin-utils" "^7.26.5" "@babel/helper-remap-async-to-generator" "^7.25.9" "@babel/traverse" "^7.26.8" -"@babel/plugin-transform-async-to-generator@^7.22.5": +"@babel/plugin-transform-async-to-generator@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz#c80008dacae51482793e5a9c08b39a5be7e12d71" integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ== dependencies: "@babel/helper-module-imports" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" "@babel/helper-remap-async-to-generator" "^7.25.9" -"@babel/plugin-transform-block-scoped-functions@^7.22.5": +"@babel/plugin-transform-block-scoped-functions@^7.26.5": version "7.26.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz#3dc4405d31ad1cbe45293aa57205a6e3b009d53e" integrity sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ== dependencies: "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-block-scoping@^7.22.10": +"@babel/plugin-transform-block-scoping@^7.25.9": version "7.27.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.0.tgz#acc2c0d98a7439bbde4244588ddbd4904701d47f" integrity sha512-u1jGphZ8uDI2Pj/HJj6YQ6XQLZCNjOlprjxB5SVz6rq2T6SwAR+CdrWK0CP7F+9rDVMXdB0+r6Am5G5aobOjAQ== dependencies: "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-class-properties@^7.22.5": +"@babel/plugin-transform-class-properties@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz#a8ce84fedb9ad512549984101fa84080a9f5f51f" integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q== dependencies: "@babel/helper-create-class-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-class-static-block@^7.22.5": +"@babel/plugin-transform-class-static-block@^7.26.0": version "7.26.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz#6c8da219f4eb15cae9834ec4348ff8e9e09664a0" integrity sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-classes@^7.22.6": +"@babel/plugin-transform-classes@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz#7152457f7880b593a63ade8a861e6e26a4469f52" integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg== dependencies: "@babel/helper-annotate-as-pure" "^7.25.9" @@ -556,121 +490,129 @@ "@babel/traverse" "^7.25.9" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.22.5": +"@babel/plugin-transform-computed-properties@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz#db36492c78460e534b8852b1d5befe3c923ef10b" integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA== dependencies: "@babel/helper-plugin-utils" "^7.25.9" "@babel/template" "^7.25.9" -"@babel/plugin-transform-destructuring@^7.22.10": +"@babel/plugin-transform-destructuring@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz#966ea2595c498224340883602d3cfd7a0c79cea1" integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-dotall-regex@^7.22.5": +"@babel/plugin-transform-dotall-regex@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz#bad7945dd07734ca52fe3ad4e872b40ed09bb09a" integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-duplicate-keys@^7.22.5": +"@babel/plugin-transform-duplicate-keys@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz#8850ddf57dce2aebb4394bb434a7598031059e6d" integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-dynamic-import@^7.22.5": +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz#6f7259b4de127721a08f1e5165b852fcaa696d31" + integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-dynamic-import@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz#23e917de63ed23c6600c5dd06d94669dce79f7b8" integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-exponentiation-operator@^7.22.5": +"@babel/plugin-transform-exponentiation-operator@^7.26.3": version "7.26.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz#e29f01b6de302c7c2c794277a48f04a9ca7f03bc" integrity sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-export-namespace-from@^7.22.5": +"@babel/plugin-transform-export-namespace-from@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz#90745fe55053394f554e40584cda81f2c8a402a2" integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-for-of@^7.22.5": +"@babel/plugin-transform-for-of@^7.26.9": version "7.26.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz#27231f79d5170ef33b5111f07fe5cafeb2c96a56" integrity sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg== dependencies: "@babel/helper-plugin-utils" "^7.26.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" -"@babel/plugin-transform-function-name@^7.22.5": +"@babel/plugin-transform-function-name@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz#939d956e68a606661005bfd550c4fc2ef95f7b97" integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA== dependencies: "@babel/helper-compilation-targets" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" "@babel/traverse" "^7.25.9" -"@babel/plugin-transform-json-strings@^7.22.5": +"@babel/plugin-transform-json-strings@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz#c86db407cb827cded902a90c707d2781aaa89660" integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-literals@^7.22.5": +"@babel/plugin-transform-literals@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz#1a1c6b4d4aa59bc4cad5b6b3a223a0abd685c9de" integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-logical-assignment-operators@^7.22.5": +"@babel/plugin-transform-logical-assignment-operators@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz#b19441a8c39a2fda0902900b306ea05ae1055db7" integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-member-expression-literals@^7.22.5": +"@babel/plugin-transform-member-expression-literals@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz#63dff19763ea64a31f5e6c20957e6a25e41ed5de" integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-amd@^7.22.5": +"@babel/plugin-transform-modules-amd@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz#49ba478f2295101544abd794486cd3088dddb6c5" integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw== dependencies: "@babel/helper-module-transforms" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-commonjs@^7.22.15", "@babel/plugin-transform-modules-commonjs@^7.22.5": +"@babel/plugin-transform-modules-commonjs@^7.26.3": version "7.26.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz#8f011d44b20d02c3de44d8850d971d8497f981fb" integrity sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ== dependencies: "@babel/helper-module-transforms" "^7.26.0" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-systemjs@^7.22.5": +"@babel/plugin-transform-modules-systemjs@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz#8bd1b43836269e3d33307151a114bcf3ba6793f8" integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA== dependencies: "@babel/helper-module-transforms" "^7.25.9" @@ -678,68 +620,68 @@ "@babel/helper-validator-identifier" "^7.25.9" "@babel/traverse" "^7.25.9" -"@babel/plugin-transform-modules-umd@^7.22.5": +"@babel/plugin-transform-modules-umd@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz#6710079cdd7c694db36529a1e8411e49fcbf14c9" integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw== dependencies: "@babel/helper-module-transforms" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": +"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz#454990ae6cc22fd2a0fa60b3a2c6f63a38064e6a" integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-new-target@^7.22.5": +"@babel/plugin-transform-new-target@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz#42e61711294b105c248336dcb04b77054ea8becd" integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-nullish-coalescing-operator@^7.22.5": +"@babel/plugin-transform-nullish-coalescing-operator@^7.26.6": version "7.26.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz#fbf6b3c92cb509e7b319ee46e3da89c5bedd31fe" integrity sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw== dependencies: "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-numeric-separator@^7.22.5": +"@babel/plugin-transform-numeric-separator@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz#bfed75866261a8b643468b0ccfd275f2033214a1" integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-object-rest-spread@^7.22.5": +"@babel/plugin-transform-object-rest-spread@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18" integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg== dependencies: "@babel/helper-compilation-targets" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" "@babel/plugin-transform-parameters" "^7.25.9" -"@babel/plugin-transform-object-super@^7.22.5": +"@babel/plugin-transform-object-super@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz#385d5de135162933beb4a3d227a2b7e52bb4cf03" integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A== dependencies: "@babel/helper-plugin-utils" "^7.25.9" "@babel/helper-replace-supers" "^7.25.9" -"@babel/plugin-transform-optional-catch-binding@^7.22.5": +"@babel/plugin-transform-optional-catch-binding@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz#10e70d96d52bb1f10c5caaac59ac545ea2ba7ff3" integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-optional-chaining@^7.22.10", "@babel/plugin-transform-optional-chaining@^7.25.9": +"@babel/plugin-transform-optional-chaining@^7.25.9": version "7.25.9" resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz" integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A== @@ -747,33 +689,33 @@ "@babel/helper-plugin-utils" "^7.25.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" -"@babel/plugin-transform-parameters@^7.22.5", "@babel/plugin-transform-parameters@^7.25.9": +"@babel/plugin-transform-parameters@^7.25.9": version "7.25.9" resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz" integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-private-methods@^7.22.5": +"@babel/plugin-transform-private-methods@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz#847f4139263577526455d7d3223cd8bda51e3b57" integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw== dependencies: "@babel/helper-create-class-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-private-property-in-object@^7.22.5": +"@babel/plugin-transform-private-property-in-object@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz#9c8b73e64e6cc3cbb2743633885a7dd2c385fe33" integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw== dependencies: "@babel/helper-annotate-as-pure" "^7.25.9" "@babel/helper-create-class-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-property-literals@^7.22.5": +"@babel/plugin-transform-property-literals@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz#d72d588bd88b0dec8b62e36f6fda91cedfe28e3f" integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA== dependencies: "@babel/helper-plugin-utils" "^7.25.9" @@ -813,58 +755,66 @@ "@babel/plugin-transform-regenerator@^7.22.10": version "7.27.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.0.tgz#822feebef43d6a59a81f696b2512df5b1682db31" integrity sha512-LX/vCajUJQDqE7Aum/ELUMZAY19+cDpghxrnyt5I1tV6X5PyC86AOoWXWFYFeIvauyeSA6/ktn4tQVn/3ZifsA== dependencies: "@babel/helper-plugin-utils" "^7.26.5" regenerator-transform "^0.15.2" -"@babel/plugin-transform-reserved-words@^7.22.5": +"@babel/plugin-transform-regexp-modifiers@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz#2f5837a5b5cd3842a919d8147e9903cc7455b850" + integrity sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-reserved-words@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz#0398aed2f1f10ba3f78a93db219b27ef417fb9ce" integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-shorthand-properties@^7.22.5": +"@babel/plugin-transform-shorthand-properties@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz#bb785e6091f99f826a95f9894fc16fde61c163f2" integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-spread@^7.22.5": +"@babel/plugin-transform-spread@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz#24a35153931b4ba3d13cec4a7748c21ab5514ef9" integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A== dependencies: "@babel/helper-plugin-utils" "^7.25.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" -"@babel/plugin-transform-sticky-regex@^7.22.5": +"@babel/plugin-transform-sticky-regex@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz#c7f02b944e986a417817b20ba2c504dfc1453d32" integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-template-literals@^7.22.5": +"@babel/plugin-transform-template-literals@^7.26.8": version "7.26.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz#966b15d153a991172a540a69ad5e1845ced990b5" integrity sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q== dependencies: "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-typeof-symbol@^7.22.5": +"@babel/plugin-transform-typeof-symbol@^7.26.7": version "7.27.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.0.tgz#044a0890f3ca694207c7826d0c7a65e5ac008aae" integrity sha512-+LLkxA9rKJpNoGsbLnAgOCdESl73vwYn+V6b+5wHbrE7OGKVDPHIQvbFSzqE6rwqaCw2RE+zdJrlLkcf8YOA0w== dependencies: "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-typescript@^7.22.15": +"@babel/plugin-transform-typescript@^7.27.0": version "7.27.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.0.tgz#a29fd3481da85601c7e34091296e9746d2cccba8" integrity sha512-fRGGjO2UEGPjvEcyAZXRXAS8AfdaQoq7HnxAbJoAoW10B9xOKesmmndJv+Sym2a+9FHWZ9KbyyLCe9s0Sn5jtg== dependencies: "@babel/helper-annotate-as-pure" "^7.25.9" @@ -873,121 +823,110 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" "@babel/plugin-syntax-typescript" "^7.25.9" -"@babel/plugin-transform-unicode-escapes@^7.22.10": +"@babel/plugin-transform-unicode-escapes@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz#a75ef3947ce15363fccaa38e2dd9bc70b2788b82" integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-unicode-property-regex@^7.22.5": +"@babel/plugin-transform-unicode-property-regex@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz#a901e96f2c1d071b0d1bb5dc0d3c880ce8f53dd3" integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-unicode-regex@^7.22.5": +"@babel/plugin-transform-unicode-regex@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz#5eae747fe39eacf13a8bd006a4fb0b5d1fa5e9b1" integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-unicode-sets-regex@^7.22.5": +"@babel/plugin-transform-unicode-sets-regex@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz#65114c17b4ffc20fa5b163c63c70c0d25621fabe" integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/preset-env@7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz" - integrity sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A== +"@babel/preset-env@7.26.9": + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.26.9.tgz#2ec64e903d0efe743699f77a10bdf7955c2123c3" + integrity sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ== dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-compilation-targets" "^7.22.10" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.5" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.5" + "@babel/compat-data" "^7.26.8" + "@babel/helper-compilation-targets" "^7.26.5" + "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-validator-option" "^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.22.5" - "@babel/plugin-syntax-import-attributes" "^7.22.5" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-import-assertions" "^7.26.0" + "@babel/plugin-syntax-import-attributes" "^7.26.0" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.22.5" - "@babel/plugin-transform-async-generator-functions" "^7.22.10" - "@babel/plugin-transform-async-to-generator" "^7.22.5" - "@babel/plugin-transform-block-scoped-functions" "^7.22.5" - "@babel/plugin-transform-block-scoping" "^7.22.10" - "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-class-static-block" "^7.22.5" - "@babel/plugin-transform-classes" "^7.22.6" - "@babel/plugin-transform-computed-properties" "^7.22.5" - "@babel/plugin-transform-destructuring" "^7.22.10" - "@babel/plugin-transform-dotall-regex" "^7.22.5" - "@babel/plugin-transform-duplicate-keys" "^7.22.5" - "@babel/plugin-transform-dynamic-import" "^7.22.5" - "@babel/plugin-transform-exponentiation-operator" "^7.22.5" - "@babel/plugin-transform-export-namespace-from" "^7.22.5" - "@babel/plugin-transform-for-of" "^7.22.5" - "@babel/plugin-transform-function-name" "^7.22.5" - "@babel/plugin-transform-json-strings" "^7.22.5" - "@babel/plugin-transform-literals" "^7.22.5" - "@babel/plugin-transform-logical-assignment-operators" "^7.22.5" - "@babel/plugin-transform-member-expression-literals" "^7.22.5" - "@babel/plugin-transform-modules-amd" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.22.5" - "@babel/plugin-transform-modules-systemjs" "^7.22.5" - "@babel/plugin-transform-modules-umd" "^7.22.5" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.22.5" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.5" - "@babel/plugin-transform-numeric-separator" "^7.22.5" - "@babel/plugin-transform-object-rest-spread" "^7.22.5" - "@babel/plugin-transform-object-super" "^7.22.5" - "@babel/plugin-transform-optional-catch-binding" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.22.10" - "@babel/plugin-transform-parameters" "^7.22.5" - "@babel/plugin-transform-private-methods" "^7.22.5" - "@babel/plugin-transform-private-property-in-object" "^7.22.5" - "@babel/plugin-transform-property-literals" "^7.22.5" - "@babel/plugin-transform-regenerator" "^7.22.10" - "@babel/plugin-transform-reserved-words" "^7.22.5" - "@babel/plugin-transform-shorthand-properties" "^7.22.5" - "@babel/plugin-transform-spread" "^7.22.5" - "@babel/plugin-transform-sticky-regex" "^7.22.5" - "@babel/plugin-transform-template-literals" "^7.22.5" - "@babel/plugin-transform-typeof-symbol" "^7.22.5" - "@babel/plugin-transform-unicode-escapes" "^7.22.10" - "@babel/plugin-transform-unicode-property-regex" "^7.22.5" - "@babel/plugin-transform-unicode-regex" "^7.22.5" - "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" + "@babel/plugin-transform-arrow-functions" "^7.25.9" + "@babel/plugin-transform-async-generator-functions" "^7.26.8" + "@babel/plugin-transform-async-to-generator" "^7.25.9" + "@babel/plugin-transform-block-scoped-functions" "^7.26.5" + "@babel/plugin-transform-block-scoping" "^7.25.9" + "@babel/plugin-transform-class-properties" "^7.25.9" + "@babel/plugin-transform-class-static-block" "^7.26.0" + "@babel/plugin-transform-classes" "^7.25.9" + "@babel/plugin-transform-computed-properties" "^7.25.9" + "@babel/plugin-transform-destructuring" "^7.25.9" + "@babel/plugin-transform-dotall-regex" "^7.25.9" + "@babel/plugin-transform-duplicate-keys" "^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9" + "@babel/plugin-transform-dynamic-import" "^7.25.9" + "@babel/plugin-transform-exponentiation-operator" "^7.26.3" + "@babel/plugin-transform-export-namespace-from" "^7.25.9" + "@babel/plugin-transform-for-of" "^7.26.9" + "@babel/plugin-transform-function-name" "^7.25.9" + "@babel/plugin-transform-json-strings" "^7.25.9" + "@babel/plugin-transform-literals" "^7.25.9" + "@babel/plugin-transform-logical-assignment-operators" "^7.25.9" + "@babel/plugin-transform-member-expression-literals" "^7.25.9" + "@babel/plugin-transform-modules-amd" "^7.25.9" + "@babel/plugin-transform-modules-commonjs" "^7.26.3" + "@babel/plugin-transform-modules-systemjs" "^7.25.9" + "@babel/plugin-transform-modules-umd" "^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9" + "@babel/plugin-transform-new-target" "^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.26.6" + "@babel/plugin-transform-numeric-separator" "^7.25.9" + "@babel/plugin-transform-object-rest-spread" "^7.25.9" + "@babel/plugin-transform-object-super" "^7.25.9" + "@babel/plugin-transform-optional-catch-binding" "^7.25.9" + "@babel/plugin-transform-optional-chaining" "^7.25.9" + "@babel/plugin-transform-parameters" "^7.25.9" + "@babel/plugin-transform-private-methods" "^7.25.9" + "@babel/plugin-transform-private-property-in-object" "^7.25.9" + "@babel/plugin-transform-property-literals" "^7.25.9" + "@babel/plugin-transform-regenerator" "^7.25.9" + "@babel/plugin-transform-regexp-modifiers" "^7.26.0" + "@babel/plugin-transform-reserved-words" "^7.25.9" + "@babel/plugin-transform-shorthand-properties" "^7.25.9" + "@babel/plugin-transform-spread" "^7.25.9" + "@babel/plugin-transform-sticky-regex" "^7.25.9" + "@babel/plugin-transform-template-literals" "^7.26.8" + "@babel/plugin-transform-typeof-symbol" "^7.26.7" + "@babel/plugin-transform-unicode-escapes" "^7.25.9" + "@babel/plugin-transform-unicode-property-regex" "^7.25.9" + "@babel/plugin-transform-unicode-regex" "^7.25.9" + "@babel/plugin-transform-unicode-sets-regex" "^7.25.9" "@babel/preset-modules" "0.1.6-no-external-plugins" - "@babel/types" "^7.22.10" - babel-plugin-polyfill-corejs2 "^0.4.5" - babel-plugin-polyfill-corejs3 "^0.8.3" - babel-plugin-polyfill-regenerator "^0.5.2" - core-js-compat "^3.31.0" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.11.0" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.40.0" semver "^6.3.1" "@babel/preset-modules@0.1.6-no-external-plugins": @@ -1016,15 +955,15 @@ resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.15.tgz" integrity sha512-HblhNmh6yM+cU4VwbBRpxFhxsTdfS1zsvH9W+gEjD0ARV9+8B4sNfpI6GuhePti84nuvhiwKS539jKPFHskA9A== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.22.15" - "@babel/plugin-transform-typescript" "^7.22.15" + "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-validator-option" "^7.25.9" + "@babel/plugin-syntax-jsx" "^7.25.9" + "@babel/plugin-transform-modules-commonjs" "^7.26.3" + "@babel/plugin-transform-typescript" "^7.27.0" -"@babel/register@^7.22.5": +"@babel/register@^7.25.9": version "7.25.9" - resolved "https://registry.npmjs.org/@babel/register/-/register-7.25.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.25.9.tgz#1c465acf7dc983d70ccc318eb5b887ecb04f021b" integrity sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA== dependencies: clone-deep "^4.0.1" @@ -1033,14 +972,14 @@ pirates "^4.0.6" source-map-support "^0.5.16" -"@babel/runtime@^7.21.0", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.8.4": version "7.27.0" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz" integrity sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.22.5", "@babel/template@^7.25.9", "@babel/template@^7.26.9", "@babel/template@^7.27.0", "@babel/template@^7.3.3": +"@babel/template@^7.25.9", "@babel/template@^7.26.9", "@babel/template@^7.27.0", "@babel/template@^7.3.3": version "7.27.0" resolved "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz" integrity sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA== @@ -1049,7 +988,7 @@ "@babel/parser" "^7.27.0" "@babel/types" "^7.27.0" -"@babel/traverse@^7.22.11", "@babel/traverse@^7.25.9", "@babel/traverse@^7.26.10", "@babel/traverse@^7.26.5", "@babel/traverse@^7.26.8", "@babel/traverse@^7.27.0": +"@babel/traverse@^7.25.9", "@babel/traverse@^7.26.10", "@babel/traverse@^7.26.5", "@babel/traverse@^7.26.8", "@babel/traverse@^7.27.0": version "7.27.0" resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz" integrity sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA== @@ -1062,7 +1001,7 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.10", "@babel/types@^7.22.11", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.27.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.27.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.27.0" resolved "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz" integrity sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg== @@ -1483,7 +1422,7 @@ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== @@ -1885,13 +1824,13 @@ abbrev@1: resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== +accepts@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-2.0.0.tgz#bbcf4ba5075467f3f2131eab3cffc73c2f5d7895" + integrity sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng== dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" + mime-types "^3.0.0" + negotiator "^1.0.0" acorn-jsx@^5.3.2: version "5.3.2" @@ -2002,11 +1941,6 @@ array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: call-bound "^1.0.3" is-array-buffer "^3.0.5" -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - array-includes@^3.1.6: version "3.1.8" resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz" @@ -2135,6 +2069,11 @@ aws-sign2@~0.7.0: resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== +aws-ssl-profiles@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz#157dd77e9f19b1d123678e93f120e6f193022641" + integrity sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g== + aws4@^1.8.0: version "1.13.2" resolved "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz" @@ -2188,40 +2127,40 @@ babel-plugin-jest-hoist@^29.6.3: "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" -babel-plugin-module-resolver@5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.0.tgz" - integrity sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q== +babel-plugin-module-resolver@5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.2.tgz#cdeac5d4aaa3b08dd1ac23ddbf516660ed2d293e" + integrity sha512-9KtaCazHee2xc0ibfqsDeamwDps6FZNo5S0Q81dUqEuFzVwPhcT4J5jOqIVvgCA3Q/wO9hKYxN/Ds3tIsp5ygg== dependencies: - find-babel-config "^2.0.0" - glob "^8.0.3" + find-babel-config "^2.1.1" + glob "^9.3.3" pkg-up "^3.1.0" reselect "^4.1.7" - resolve "^1.22.1" + resolve "^1.22.8" -babel-plugin-polyfill-corejs2@^0.4.5: +babel-plugin-polyfill-corejs2@^0.4.10: version "0.4.13" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz#7d445f0e0607ebc8fb6b01d7e8fb02069b91dd8b" integrity sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g== dependencies: "@babel/compat-data" "^7.22.6" "@babel/helper-define-polyfill-provider" "^0.6.4" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.8.3: - version "0.8.7" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz" - integrity sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA== +babel-plugin-polyfill-corejs3@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz#4e4e182f1bb37c7ba62e2af81d8dd09df31344f6" + integrity sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ== dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.4" - core-js-compat "^3.33.1" + "@babel/helper-define-polyfill-provider" "^0.6.3" + core-js-compat "^3.40.0" -babel-plugin-polyfill-regenerator@^0.5.2: - version "0.5.5" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz" - integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz#428c615d3c177292a22b4f93ed99e358d7906a9b" + integrity sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.5.0" + "@babel/helper-define-polyfill-provider" "^0.6.4" babel-preset-current-node-syntax@^1.0.0: version "1.1.0" @@ -2327,41 +2266,20 @@ bluebird@3.7.2, bluebird@^3.4.6, bluebird@^3.5.0: resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.1" - type-is "~1.6.18" - unpipe "1.0.0" - -body-parser@1.20.2: - version "1.20.2" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== +body-parser@2.2.0, body-parser@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-2.2.0.tgz#f7a9656de305249a715b549b7b8fd1ab9dfddcfa" + integrity sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg== dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" + bytes "^3.1.2" + content-type "^1.0.5" + debug "^4.4.0" + http-errors "^2.0.0" + iconv-lite "^0.6.3" + on-finished "^2.4.1" + qs "^6.14.0" + raw-body "^3.0.0" + type-is "^2.0.0" brace-expansion@^1.1.7: version "1.1.11" @@ -2424,9 +2342,9 @@ busboy@^1.0.0: dependencies: streamsearch "^1.1.0" -bytes@3.1.2: +bytes@3.1.2, bytes@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: @@ -2545,7 +2463,7 @@ check-error@^1.0.1: dependencies: get-func-name "^2.0.2" -chokidar@^3.4.0, chokidar@^3.5.2: +chokidar@^3.5.2, chokidar@^3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== @@ -2670,10 +2588,10 @@ commander@^10.0.0: resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz" integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== -commander@^4.0.1: - version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== commondir@^1.0.1: version "1.0.1" @@ -2710,46 +2628,41 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0: resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== +content-disposition@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-1.0.0.tgz#844426cb398f934caefcbb172200126bc7ceace2" + integrity sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg== dependencies: safe-buffer "5.2.1" -content-type@~1.0.4, content-type@~1.0.5: +content-type@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -convert-source-map@^1.1.0, convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== +cookie-signature@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.2.2.tgz#57c7fc3cc293acab9fec54d73e15690ebe4a1793" + integrity sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg== -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== +cookie@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" + integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== cookiejar@^2.1.4: version "2.1.4" resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz" integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== -core-js-compat@^3.31.0, core-js-compat@^3.33.1: +core-js-compat@^3.40.0: version "3.41.0" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.41.0.tgz#4cdfce95f39a8f27759b667cf693d96e5dda3d17" integrity sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A== dependencies: browserslist "^4.24.4" @@ -2864,12 +2777,10 @@ data-view-byte-offset@^1.0.1: es-errors "^1.3.0" is-data-view "^1.0.1" -date-fns@^2.30.0: - version "2.30.0" - resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz" - integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== - dependencies: - "@babel/runtime" "^7.21.0" +date-fns@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-4.1.0.tgz#64b3d83fff5aa80438f5b1a633c2e83b8a1c2d14" + integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg== debug@2.6.9, debug@^2.6.9: version "2.6.9" @@ -2878,7 +2789,7 @@ debug@2.6.9, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.4.0: +debug@4, debug@^4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0: version "4.4.0" resolved "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz" integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== @@ -2963,7 +2874,7 @@ denque@^2.1.0: resolved "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz" integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw== -depd@2.0.0, depd@~2.0.0: +depd@2.0.0, depd@^2.0.0, depd@~2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== @@ -2973,11 +2884,6 @@ depd@^1.1.0: resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - detect-libc@^2.0.0: version "2.0.3" resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz" @@ -3086,10 +2992,10 @@ emoji-regex@^8.0.0: resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +encodeurl@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== end-of-stream@^1.1.0: version "1.4.4" @@ -3259,9 +3165,9 @@ escalade@^3.1.1, escalade@^3.2.0: resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== -escape-html@~1.0.3: +escape-html@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== escape-string-regexp@^1.0.5: @@ -3463,9 +3369,9 @@ esutils@^2.0.2: resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -etag@~1.8.1: +etag@^1.8.1: version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== execa@^5.0.0: @@ -3499,50 +3405,46 @@ expect@^29.7.0: jest-message-util "^29.7.0" jest-util "^29.7.0" -express-validator@^5.3.0: - version "5.3.1" - resolved "https://registry.npmjs.org/express-validator/-/express-validator-5.3.1.tgz" - integrity sha512-g8xkipBF6VxHbO1+ksC7nxUU7+pWif0+OZXjZTybKJ/V0aTVhuCoHbyhIPgSYVldwQLocGExPtB2pE0DqK4jsw== +express-validator@7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/express-validator/-/express-validator-7.2.1.tgz#8403deaf810f9bededa0a4fd7116803e46f122c2" + integrity sha512-CjNE6aakfpuwGaHQZ3m8ltCG2Qvivd7RHtVMS/6nVxOM7xVGqr4bhflsm4+N5FP5zI7Zxp+Hae+9RE+o8e3ZOQ== dependencies: - lodash "^4.17.10" - validator "^10.4.0" + lodash "^4.17.21" + validator "~13.12.0" -express@4.18.2: - version "4.18.2" - resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.1" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" +express@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/express/-/express-5.1.0.tgz#d31beaf715a0016f0d53f47d3b4d7acf28c75cc9" + integrity sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA== + dependencies: + accepts "^2.0.0" + body-parser "^2.2.0" + content-disposition "^1.0.0" + content-type "^1.0.5" + cookie "^0.7.1" + cookie-signature "^1.2.1" + debug "^4.4.0" + encodeurl "^2.0.0" + escape-html "^1.0.3" + etag "^1.8.1" + finalhandler "^2.1.0" + fresh "^2.0.0" + http-errors "^2.0.0" + merge-descriptors "^2.0.0" + mime-types "^3.0.0" + on-finished "^2.4.1" + once "^1.4.0" + parseurl "^1.3.3" + proxy-addr "^2.0.7" + qs "^6.14.0" + range-parser "^1.2.1" + router "^2.2.0" + send "^1.1.0" + serve-static "^2.2.0" + statuses "^2.0.1" + type-is "^2.0.1" + vary "^1.1.2" extend@~3.0.2: version "3.0.2" @@ -3641,22 +3543,21 @@ fill-range@^7.1.1: dependencies: to-regex-range "^5.0.1" -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== +finalhandler@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-2.1.0.tgz#72306373aa89d05a8242ed569ed86a1bff7c561f" + integrity sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q== dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" + debug "^4.4.0" + encodeurl "^2.0.0" + escape-html "^1.0.3" + on-finished "^2.4.1" + parseurl "^1.3.3" + statuses "^2.0.1" -find-babel-config@^2.0.0: +find-babel-config@^2.1.1: version "2.1.2" - resolved "https://registry.npmjs.org/find-babel-config/-/find-babel-config-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-2.1.2.tgz#2841b1bfbbbcdb971e1e39df8cbc43dafa901716" integrity sha512-ZfZp1rQyp4gyuxqt1ZqjFGVeVBvmpURMqdIWXbPRfB97Bf6BzdK/xSIbylEINzQ0kB5tlDQfn9HkNXXWsqTqLg== dependencies: json5 "^2.2.3" @@ -3758,10 +3659,10 @@ forwarded@0.2.0: resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== +fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-2.0.0.tgz#8dd7df6a1b3a1b3a5cf186c05a5dd267622635a4" + integrity sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A== fs-minipass@^2.0.0: version "2.1.0" @@ -3965,16 +3866,15 @@ glob@^7.1.3, glob@^7.1.4, glob@^7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.3: - version "8.1.0" - resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== +glob@^9.3.3: + version "9.3.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" + integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== dependencies: fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" + minimatch "^8.0.2" + minipass "^4.2.4" + path-scurry "^1.6.1" globals@^11.1.0: version "11.12.0" @@ -4128,7 +4028,7 @@ html-escaper@^2.0.0: resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -http-errors@2.0.0: +http-errors@2.0.0, http-errors@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== @@ -4177,19 +4077,12 @@ human-signals@^2.1.0: resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -husky@8.0.3: - version "8.0.3" - resolved "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz" - integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== +husky@9.1.7: + version "9.1.7" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.7.tgz#d46a38035d101b46a70456a850ff4201344c0b2d" + integrity sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA== -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@^0.6.3: +iconv-lite@0.6.3, iconv-lite@^0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== @@ -4434,6 +4327,11 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-promise@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3" + integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== + is-property@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" @@ -5043,15 +4941,21 @@ json5@^2.2.3: resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -jsonwebtoken@9.0.1: - version "9.0.1" - resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz" - integrity sha512-K8wx7eJ5TPvEjuiVSkv167EVboBDv9PZdDoF7BgeQnBLVvZWW9clr2PsQHVJDTKaEIH5JBIwHujGcHp7GgI2eg== +jsonwebtoken@9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" + integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== dependencies: jws "^3.2.2" - lodash "^4.17.21" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" ms "^2.1.1" - semver "^7.3.8" + semver "^7.5.4" jsprim@^1.2.2: version "1.4.2" @@ -5172,27 +5076,47 @@ lodash.debounce@^4.0.8: resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.mergewith@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" - integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== -lodash@^4.17.1, lodash@^4.17.10, lodash@^4.17.21: +lodash@^4.17.1, lodash@^4.17.21: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -5202,6 +5126,18 @@ long@^5.2.1: resolved "https://registry.npmjs.org/long/-/long-5.3.1.tgz" integrity sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng== +loupe@^2.3.6: + version "2.3.7" + resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== + dependencies: + get-func-name "^2.0.1" + +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" @@ -5214,10 +5150,10 @@ lru-cache@^7.14.1: resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz" integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== -lru-cache@^8.0.0: - version "8.0.5" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz" - integrity sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA== +lru.min@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/lru.min/-/lru.min-1.1.2.tgz#01ce1d72cc50c7faf8bd1f809ebf05d4331021eb" + integrity sha512-Nv9KddBcQSlQopmBHXSsZVY5xsdlZkdH/Iey0BlcBYggMd4two7cZnKOK9vmy3nY0O5RGH99z1PCeTpPqszUYg== make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" @@ -5258,15 +5194,20 @@ media-typer@0.3.0: resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== +media-typer@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-1.1.0.tgz#6ab74b8f2d3320f2064b2a87a38e7931ff3a5561" + integrity sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== + memorystream@^0.3.1: version "0.3.1" resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== +merge-descriptors@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-2.0.0.tgz#ea922f660635a2249ee565e0449f951e6b603808" + integrity sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g== merge-stream@^2.0.0: version "2.0.0" @@ -5278,7 +5219,7 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -methods@^1.1.2, methods@~1.1.2: +methods@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== @@ -5296,17 +5237,24 @@ mime-db@1.52.0: resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: +mime-db@^1.54.0: + version "1.54.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" + integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== + +mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24: 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" -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== +mime-types@^3.0.0, mime-types@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-3.0.1.tgz#b1d94d6997a9b32fd69ebaed0db73de8acb519ce" + integrity sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA== + dependencies: + mime-db "^1.54.0" mime@2.6.0: version "2.6.0" @@ -5325,10 +5273,10 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== +minimatch@^8.0.2: + version "8.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" + integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== dependencies: brace-expansion "^2.0.1" @@ -5344,11 +5292,21 @@ minipass@^3.0.0: dependencies: yallist "^4.0.0" +minipass@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" + integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== + minipass@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + minizlib@^2.1.1: version "2.1.2" resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" @@ -5407,15 +5365,15 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1, ms@^2.1.3: +ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -multer@1.4.5-lts.1: - version "1.4.5-lts.1" - resolved "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz" - integrity sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ== +multer@1.4.5-lts.2: + version "1.4.5-lts.2" + resolved "https://registry.yarnpkg.com/multer/-/multer-1.4.5-lts.2.tgz#340af065d8685dda846ec9e3d7655fcd50afba2d" + integrity sha512-VzGiVigcG9zUAoCNU+xShztrlr1auZOlurXynNvO9GiWD1/mTBbUljOKY+qMeazBqXgRnjzeEgJI/wyjJUHg9A== dependencies: append-field "^1.0.0" busboy "^1.0.0" @@ -5425,16 +5383,17 @@ multer@1.4.5-lts.1: type-is "^1.6.4" xtend "^4.0.0" -mysql2@3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/mysql2/-/mysql2-3.6.0.tgz" - integrity sha512-EWUGAhv6SphezurlfI2Fpt0uJEWLmirrtQR7SkbTHFC+4/mJBrPiSzHESHKAWKG7ALVD6xaG/NBjjd1DGJGQQQ== +mysql2@3.14.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-3.14.0.tgz#5a7ab528f3249ace2d0ac1180c7ac1ea40bfe20b" + integrity sha512-8eMhmG6gt/hRkU1G+8KlGOdQi2w+CgtNoD1ksXZq9gQfkfDsX4LHaBwTe1SY0Imx//t2iZA03DFnyYKPinxSRw== dependencies: + aws-ssl-profiles "^1.1.1" denque "^2.1.0" generate-function "^2.3.1" iconv-lite "^0.6.3" long "^5.2.1" - lru-cache "^8.0.0" + lru.min "^1.0.0" named-placeholders "^1.1.3" seq-queue "^0.0.5" sqlstring "^2.3.2" @@ -5451,10 +5410,10 @@ natural-compare@^1.4.0: resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== +negotiator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a" + integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== neo-async@^2.6.2: version "2.6.2" @@ -5506,13 +5465,13 @@ node-wkhtmltopdf@^2.0.0: resolved "https://registry.npmjs.org/node-wkhtmltopdf/-/node-wkhtmltopdf-2.0.0.tgz" integrity sha512-X/pMpExoExOOjkFI2+Uw4+jnzB25VT+maVkgVw5Gaiu1sCpMwUZqI9vmhC06N7tyGz9HYWkARXQBrcW0pfQKaQ== -nodemon@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/nodemon/-/nodemon-3.0.1.tgz" - integrity sha512-g9AZ7HmkhQkqXkRc20w+ZfQ73cHLbE8hnPbtaFbFtCumZsjyMhKk9LajQ07U5Ux28lvFjZ5X7HvWR1xzU8jHVw== +nodemon@3.1.9: + version "3.1.9" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.9.tgz#df502cdc3b120e1c3c0c6e4152349019efa7387b" + integrity sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg== dependencies: chokidar "^3.5.2" - debug "^3.2.7" + debug "^4" ignore-by-default "^1.0.1" minimatch "^3.1.2" pstree.remy "^1.1.8" @@ -5660,9 +5619,9 @@ object.values@^1.1.6: define-properties "^1.2.1" es-object-atoms "^1.0.0" -on-finished@2.4.1: +on-finished@^2.4.1: version "2.4.1" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: ee-first "1.1.1" @@ -5806,9 +5765,9 @@ parse-passwd@^1.0.0: resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== -parseurl@~1.3.3: +parseurl@^1.3.3: version "1.3.3" - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== path-exists@^3.0.0: @@ -5841,10 +5800,18 @@ path-parse@^1.0.7: resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== +path-scurry@^1.6.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-to-regexp@^8.0.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-8.2.0.tgz#73990cc29e57a3ff2a0d914095156df5db79e8b4" + integrity sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ== path-type@^3.0.0: version "3.0.0" @@ -5966,9 +5933,9 @@ prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.5" -proxy-addr@~2.0.7: +proxy-addr@^2.0.7: version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: forwarded "0.2.0" @@ -6052,14 +6019,7 @@ q@^1.5.1: resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== -qs@6.11.0: - version "6.11.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -qs@^6.11.0, qs@^6.11.2: +qs@^6.11.0, qs@^6.11.2, qs@^6.14.0: version "6.14.0" resolved "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz" integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== @@ -6076,29 +6036,19 @@ queue-microtask@^1.2.2: resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -range-parser@~1.2.1: +range-parser@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== +raw-body@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-3.0.0.tgz#25b3476f07a51600619dae3fe82ddc28a36e5e0f" + integrity sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g== dependencies: bytes "3.1.2" http-errors "2.0.0" - iconv-lite "0.4.24" + iconv-lite "0.6.3" unpipe "1.0.0" react-dom@19.1.0: @@ -6300,7 +6250,7 @@ resolve.exports@^2.0.0: resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz" integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== -resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.4: +resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4, resolve@^1.22.8: version "1.22.10" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz" integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== @@ -6329,6 +6279,17 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" +router@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/router/-/router-2.2.0.tgz#019be620b711c87641167cc79b99090f00b146ef" + integrity sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ== + dependencies: + debug "^4.4.0" + depd "^2.0.0" + is-promise "^4.0.0" + parseurl "^1.3.3" + path-to-regexp "^8.0.0" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" @@ -6374,7 +6335,7 @@ safe-regex-test@^1.1.0: es-errors "^1.3.0" is-regex "^1.2.1" -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -6399,24 +6360,22 @@ semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.7.1: resolved "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz" integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== -send@0.18.0: - version "0.18.0" - resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" +send@^1.1.0, send@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/send/-/send-1.2.0.tgz#32a7554fb777b831dfa828370f773a3808d37212" + integrity sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw== + dependencies: + debug "^4.3.5" + encodeurl "^2.0.0" + escape-html "^1.0.3" + etag "^1.8.1" + fresh "^2.0.0" + http-errors "^2.0.0" + mime-types "^3.0.1" + ms "^2.1.3" + on-finished "^2.4.1" + range-parser "^1.2.1" + statuses "^2.0.1" seq-queue@^0.0.5: version "0.0.5" @@ -6446,15 +6405,15 @@ sequelize@^4.38.0: validator "^10.4.0" wkx "^0.4.1" -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== +serve-static@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-2.2.0.tgz#9c02564ee259bdd2251b82d659a2e7e1938d66f9" + integrity sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ== dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" + encodeurl "^2.0.0" + escape-html "^1.0.3" + parseurl "^1.3.3" + send "^1.2.0" set-blocking@^2.0.0: version "2.0.0" @@ -6567,7 +6526,7 @@ side-channel-weakmap@^1.0.2: object-inspect "^1.13.3" side-channel-map "^1.0.1" -side-channel@^1.0.4, side-channel@^1.1.0: +side-channel@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz" integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== @@ -6716,7 +6675,7 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" -statuses@2.0.1: +statuses@2.0.1, statuses@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== @@ -7108,7 +7067,7 @@ type-fest@^0.21.3: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== -type-is@^1.6.4, type-is@~1.6.18: +type-is@^1.6.4: version "1.6.18" resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== @@ -7116,6 +7075,15 @@ type-is@^1.6.4, type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +type-is@^2.0.0, type-is@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-2.0.1.tgz#64f6cf03f92fce4015c2b224793f6bdd4b068c97" + integrity sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw== + dependencies: + content-type "^1.0.5" + media-typer "^1.1.0" + mime-types "^3.0.0" + typed-array-buffer@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz" @@ -7171,10 +7139,10 @@ typedarray@^0.0.6: resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@5.2.2: - version "5.2.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== +typescript@5.8.3: + version "5.8.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" + integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== uglify-js@^3.1.4: version "3.19.3" @@ -7224,7 +7192,7 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== -unpipe@1.0.0, unpipe@~1.0.0: +unpipe@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== @@ -7249,15 +7217,10 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz" - integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== +uuid@11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-11.1.0.tgz#9549028be1753bb934fc96e2bca09bb4105ae912" + integrity sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A== uuid@^3.2.1, uuid@^3.3.2: version "3.4.0" @@ -7293,12 +7256,12 @@ validator@^10.4.0: resolved "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz" integrity sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw== -validator@^13.7.0: - version "13.15.15" - resolved "https://registry.npmjs.org/validator/-/validator-13.15.15.tgz#246594be5671dc09daa35caec5689fcd18c6e7e4" - integrity sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A== +validator@~13.12.0: + version "13.12.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.12.0.tgz#7d78e76ba85504da3fee4fd1922b385914d4b35f" + integrity sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg== -vary@^1, vary@~1.1.2: +vary@^1, vary@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== From 2e458c4af3ff873269320e8e5ee6ae4d8d6481c7 Mon Sep 17 00:00:00 2001 From: Edvaldo Szymonek Date: Mon, 14 Apr 2025 22:48:16 -0300 Subject: [PATCH 04/14] =?UTF-8?q?cria=20migra=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .config/cspell.yml | 14 + README.md | 2 +- src/database/apply-migration-service.ts | 14 +- src/database/cli.ts | 9 +- ...data-source.ts => migration-repository.ts} | 6 +- .../migrations/20250426233203_herbario.sql | 78 ++ .../migrations/20250426233215_taxonomia.sql | 104 ++ .../migrations/20250426233223_usuario.sql | 36 + .../migrations/20250426233236_tombo.sql | 238 +++++ .../20250426233245_configuracao.sql | 13 + yarn.lock | 918 +++++++++--------- 11 files changed, 963 insertions(+), 469 deletions(-) create mode 100644 .config/cspell.yml rename src/database/{migration-data-source.ts => migration-repository.ts} (80%) create mode 100644 src/database/migrations/20250426233203_herbario.sql create mode 100644 src/database/migrations/20250426233215_taxonomia.sql create mode 100644 src/database/migrations/20250426233223_usuario.sql create mode 100644 src/database/migrations/20250426233236_tombo.sql create mode 100644 src/database/migrations/20250426233245_configuracao.sql diff --git a/.config/cspell.yml b/.config/cspell.yml new file mode 100644 index 00000000..72650823 --- /dev/null +++ b/.config/cspell.yml @@ -0,0 +1,14 @@ +language: en,pt-BR +words: + - distro + - caprover + - certbot + - lineinfile + - blockinfile + - familias + - subfamilia + - subfamilias + - genero + - generos + - subespecie + - subespecies diff --git a/README.md b/README.md index c5283771..e2e75687 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## Pré-requisitos -- [NodeJS >= 18.16](https://nodejs.org/en) +- [NodeJS >= 22](https://nodejs.org/en) - [Yarn](https://yarnpkg.com) - [Docker](https://www.docker.com) - [Docker Compose](https://docs.docker.com/compose) diff --git a/src/database/apply-migration-service.ts b/src/database/apply-migration-service.ts index fb3431e8..1db8cefa 100644 --- a/src/database/apply-migration-service.ts +++ b/src/database/apply-migration-service.ts @@ -1,30 +1,30 @@ import path from 'node:path' import { CorruptedDirectoryError } from './errors/corrupted-directory-error' -import { MigrationDataSource } from './migration-data-source' import { MigrationFileSystem } from './migration-file-system' +import { MigrationRepository } from './migration-repository' interface Dependencies { migrationFileSystem: MigrationFileSystem - migrationDataSource: MigrationDataSource + migrationRepository: MigrationRepository } export class ApplyMigrationService { private readonly migrationFileSystem: MigrationFileSystem - private readonly migrationDataSource: MigrationDataSource + private readonly migrationRepository: MigrationRepository constructor(readonly dependencies: Dependencies) { this.migrationFileSystem = dependencies.migrationFileSystem - this.migrationDataSource = dependencies.migrationDataSource + this.migrationRepository = dependencies.migrationRepository } async execute() { const migrationFilePaths = await this.migrationFileSystem.listMigrationFiles() const migrationFileNames = migrationFilePaths.map(file => path.basename(file, '.sql')) - await this.migrationDataSource.ensureMigrationTableExists() - const appliedMigrations = await this.migrationDataSource.getAppliedMigrations() + await this.migrationRepository.ensureMigrationTableExists() + const appliedMigrations = await this.migrationRepository.getAppliedMigrations() const missingMigrations = appliedMigrations.filter(appliedMigration => !migrationFileNames.includes(appliedMigration.name)) if (missingMigrations.length) { @@ -43,7 +43,7 @@ export class ApplyMigrationService { /* eslint-disable no-restricted-syntax, no-await-in-loop */ for (const migrationFileName of unappliedMigrations) { const migrationFileContent = await this.migrationFileSystem.getMigrationFileContent(migrationFileName) - await this.migrationDataSource.applyMigration(migrationFileName, migrationFileContent) + await this.migrationRepository.applyMigration(migrationFileName, migrationFileContent) } /* eslint-enable no-restricted-syntax */ } diff --git a/src/database/cli.ts b/src/database/cli.ts index 057268e2..6eb23c58 100644 --- a/src/database/cli.ts +++ b/src/database/cli.ts @@ -4,8 +4,8 @@ import path from 'node:path' import { ApplyMigrationService } from './apply-migration-service' import { CreateMigrationService } from './create-migration-service' -import { MigrationDataSource } from './migration-data-source' import { MigrationFileSystem } from './migration-file-system' +import { MigrationRepository } from './migration-repository' const { MYSQL_DATABASE, @@ -22,12 +22,13 @@ const migrationKnex = createKnex({ host: MYSQL_HOST, port: parseInt(MYSQL_PORT), user: MYSQL_MIGRATION_USERNAME, - password: MYSQL_MIGRATION_PASSWORD + password: MYSQL_MIGRATION_PASSWORD, + multipleStatements: true } }) const migrationFileSystem = new MigrationFileSystem({ migrationsPath: path.join(__dirname, 'migrations') }) -const migrationDataSource = new MigrationDataSource({ knex: migrationKnex, tableName: 'migrations' }) +const migrationDataSource = new MigrationRepository({ knex: migrationKnex, tableName: 'migrations' }) async function createMigration(name: string) { const createMigrationService = new CreateMigrationService({ migrationFileSystem }) @@ -35,7 +36,7 @@ async function createMigration(name: string) { } async function applyMigrations() { - const applyMigrationsService = new ApplyMigrationService({ migrationFileSystem, migrationDataSource }) + const applyMigrationsService = new ApplyMigrationService({ migrationFileSystem, migrationRepository: migrationDataSource }) await applyMigrationsService.execute() await migrationKnex.destroy() } diff --git a/src/database/migration-data-source.ts b/src/database/migration-repository.ts similarity index 80% rename from src/database/migration-data-source.ts rename to src/database/migration-repository.ts index 96be5c57..022040d6 100644 --- a/src/database/migration-data-source.ts +++ b/src/database/migration-repository.ts @@ -5,7 +5,7 @@ interface Dependencies { tableName: string } -export class MigrationDataSource { +export class MigrationRepository { private readonly knex: Knex private readonly tableName: string @@ -19,9 +19,10 @@ export class MigrationDataSource { const exists = await this.knex.schema.hasTable(this.tableName) if (exists) return - await this.knex.schema.createTableIfNotExists(this.tableName, table => { + await this.knex.schema.createTable(this.tableName, table => { table.string('name', 300).primary() table.dateTime('applied_at').notNullable() + .defaultTo(this.knex.fn.now()) }) } @@ -30,6 +31,7 @@ export class MigrationDataSource { } async applyMigration(name: string, content: string): Promise { + console.info(`Applying migration ${name}`) // eslint-disable-line no-console await this.knex.transaction(async trx => { await trx.raw(content) await trx(this.tableName).insert({ name, applied_at: new Date() }) diff --git a/src/database/migrations/20250426233203_herbario.sql b/src/database/migrations/20250426233203_herbario.sql new file mode 100644 index 00000000..4367bc0a --- /dev/null +++ b/src/database/migrations/20250426233203_herbario.sql @@ -0,0 +1,78 @@ +create table `paises` ( + `id` smallint unsigned not null auto_increment, + `nome` varchar(255) not null, + `sigla` char(4) default null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + index `paises_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `estados` ( + `id` int unsigned not null auto_increment, + `nome` varchar(255) not null, + `sigla` char(4) default null, + `codigo_telefone` varchar(10) default null, + `pais_id` smallint unsigned not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + constraint `estados_paises_fk` foreign key (`pais_id`) references `paises` (`id`), + index `estados_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `cidades` ( + `id` int unsigned not null auto_increment, + `estado_id` int unsigned not null, + `nome` varchar(255) not null, + `latitude` decimal(10,7) default null, + `longitude` decimal(10,7) default null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + constraint `cidades_estados_fk` foreign key (`estado_id`) references `estados` (`id`), + index `cidades_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `enderecos` ( + `id` int unsigned not null auto_increment, + `logradouro` varchar(200) not null, + `numero` varchar(10) default null, + `complemento` text, + `cidade_id` int unsigned default null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + constraint `enderecos_cidades_fk` foreign key (`cidade_id`) references `cidades` (`id`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `herbarios` ( + `id` int unsigned not null auto_increment, + `nome` varchar(200) not null, + `caminho_logotipo` text, + `sigla` varchar(80) not null, + `email` varchar(200) default null, + `ativo` tinyint(1) default '1', + `endereco_id` int unsigned default null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + constraint `herbarios_enderecos_fk` foreign key (`endereco_id`) references `enderecos` (`id`), + index `herbarios_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `telefones` ( + `id` int unsigned not null auto_increment, + `numero` varchar(20) not null, + `herbario_id` int unsigned not null, + `ativo` tinyint(1) default '1', + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + constraint `telefones_herbarios_fk` foreign key (`herbario_id`) references `herbarios` (`id`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; diff --git a/src/database/migrations/20250426233215_taxonomia.sql b/src/database/migrations/20250426233215_taxonomia.sql new file mode 100644 index 00000000..2de8486d --- /dev/null +++ b/src/database/migrations/20250426233215_taxonomia.sql @@ -0,0 +1,104 @@ +create table `autores` ( + `id` int unsigned not null auto_increment, + `nome` varchar(200) not null, + `iniciais` varchar(200) default null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + `ativo` tinyint(1) not null default '1', + primary key (`id`), + index `autores_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `familias` ( + `id` int unsigned not null auto_increment, + `nome` varchar(200) not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + `ativo` tinyint(1) not null default '1', + primary key (`id`), + index `familias_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `subfamilias` ( + `id` int unsigned not null auto_increment, + `nome` varchar(300) not null, + `familia_id` int unsigned not null, + `autor_id` int unsigned default null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + `ativo` tinyint(1) not null default '1', + primary key (`id`), + constraint `subfamilias_autores_fk` foreign key (`autor_id`) references `autores` (`id`), + constraint `subfamilias_familias_fk` foreign key (`familia_id`) references `familias` (`id`), + index `subfamilias_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `generos` ( + `id` int unsigned not null auto_increment, + `nome` varchar(200) not null, + `familia_id` int unsigned not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + `ativo` tinyint(1) not null default '1', + primary key (`id`), + constraint `generos_familias_fk` foreign key (`familia_id`) references `familias` (`id`), + index `generos_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `especies` ( + `id` int unsigned not null auto_increment, + `nome` varchar(200) not null, + `autor_id` int unsigned default null, + `genero_id` int unsigned default null, + `familia_id` int unsigned not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + `ativo` tinyint(1) not null default '1', + primary key (`id`), + constraint `especies_autores_fk` foreign key (`autor_id`) references `autores` (`id`), + constraint `especies_generos_fk` foreign key (`genero_id`) references `generos` (`id`), + constraint `especies_familias_fk` foreign key (`familia_id`) references `familias` (`id`), + index `especies_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `subespecies` ( + `id` int unsigned not null auto_increment, + `nome` varchar(255) not null, + `especie_id` int unsigned not null, + `genero_id` int unsigned default null, + `familia_id` int unsigned not null, + `autor_id` int unsigned default null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + `ativo` tinyint(1) not null default '1', + primary key (`id`), + constraint `subespecies_especies_fk` foreign key (`especie_id`) references `especies` (`id`), + constraint `subespecies_generos_fk` foreign key (`genero_id`) references `generos` (`id`), + constraint `subespecies_autores_fk` foreign key (`autor_id`) references `autores` (`id`), + constraint `subespecies_familias_fk` foreign key (`familia_id`) references `familias` (`id`), + index `subespecies_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `variedades` ( + `id` int unsigned not null auto_increment, + `nome` varchar(200) not null, + `autor_id` int unsigned default null, + `especie_id` int unsigned not null, + `genero_id` int unsigned default null, + `familia_id` int unsigned not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + `ativo` tinyint(1) not null default '1', + primary key (`id`), + constraint `variedades_generos_fk` foreign key (`genero_id`) references `generos` (`id`), + constraint `variedades_familias_fk` foreign key (`familia_id`) references `familias` (`id`), + constraint `variedades_especies_fk` foreign key (`especie_id`) references `especies` (`id`), + constraint `variedades_autores_fk` foreign key (`autor_id`) references `autores` (`id`), + index `variedades_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; diff --git a/src/database/migrations/20250426233223_usuario.sql b/src/database/migrations/20250426233223_usuario.sql new file mode 100644 index 00000000..bb5d7491 --- /dev/null +++ b/src/database/migrations/20250426233223_usuario.sql @@ -0,0 +1,36 @@ +create table `tipos_usuarios` ( + `id` int unsigned not null auto_increment, + `tipo` varchar(100) not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + unique index `tipos_usuarios_tipo_uk` (`tipo`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `usuarios` ( + `id` int unsigned not null auto_increment, + `nome` varchar(200) not null, + `ra` varchar(45) default null, + `email` varchar(200) not null, + `senha` varchar(200) not null, + `ativo` tinyint(1) not null default '1', + `tipo_usuario_id` int unsigned not null, + `telefone` varchar(20) default null, + `herbario_id` int unsigned not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + constraint `usuarios_tipos_usuarios_fk` foreign key (`tipo_usuario_id`) references `tipos_usuarios` (`id`), + constraint `usuarios_herbarios_fk` foreign key (`herbario_id`) references `herbarios` (`id`), + unique index `usuarios_email_uk` (`email`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `historico_acessos` ( + `id` int unsigned not null auto_increment, + `data_criacao` datetime not null default current_timestamp, + `usuario_id` int unsigned not null, + primary key (`id`), + constraint `historico_acessos_usuarios_fk` foreign key (`usuario_id`) references `usuarios` (`id`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; diff --git a/src/database/migrations/20250426233236_tombo.sql b/src/database/migrations/20250426233236_tombo.sql new file mode 100644 index 00000000..d98f698a --- /dev/null +++ b/src/database/migrations/20250426233236_tombo.sql @@ -0,0 +1,238 @@ +create table `remessas` ( + `id` int unsigned not null auto_increment, + `observacao` text, + `data_envio` datetime default null, + `entidade_destino_id` int unsigned not null, + `herbario_id` int unsigned not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + constraint `remessas_herbarios_fk` foreign key (`herbario_id`) references `herbarios` (`id`), + constraint `remessas_entidade_fk` foreign key (`entidade_destino_id`) references `herbarios` (`id`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `tipos` ( + `id` int unsigned not null auto_increment, + `nome` varchar(250) not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `coletores` ( + `id` int unsigned not null auto_increment, + `nome` varchar(255) not null, + `email` varchar(200) default null, + `numero` int default null, + `ativo` tinyint(1) default '1', + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + index `coletores_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `relevos` ( + `id` int unsigned not null auto_increment, + `nome` varchar(300) not null, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + `created_at` datetime not null default current_timestamp, + primary key (`id`), + unique index `relevos_nome_uk` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `solos` ( + `id` int unsigned not null auto_increment, + `nome` varchar(300) not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + unique index `solos_nome_uk` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `vegetacoes` ( + `id` int unsigned not null auto_increment, + `nome` varchar(300) not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + unique index `vegetacoes_nome_uk` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `fase_sucessional` ( + `numero` int unsigned not null, + `nome` varchar(200) not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`numero`), + unique index `fase_sucessional_nome_uk` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `locais_coleta` ( + `id` int unsigned not null auto_increment, + `descricao` text, + `cidade_id` int unsigned default null, + `fase_sucessional_id` int unsigned default null, + `complemento` text, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + `fase_numero` int unsigned default null, + primary key (`id`), + constraint `locais_coleta_fase_numero_fk` foreign key (`fase_numero`) references `fase_sucessional` (`numero`), + constraint `locais_coleta_cidades_fk` foreign key (`cidade_id`) references `cidades` (`id`), + index `locais_coleta_cidade_idx` (`cidade_id`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `colecoes_anexas` ( + `id` int unsigned not null auto_increment, + `tipo` enum('carpoteca','xiloteca','via liquida') not null, + `observacoes` text, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + index `colecoes_anexas_tipo_idx` (`tipo`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `tombos` ( + `hcf` int unsigned not null auto_increment, + `data_tombo` datetime default current_timestamp, + `data_coleta_dia` int unsigned default null, + `observacao` text, + `nomes_populares` text, + `numero_coleta` int unsigned default null, + `latitude` decimal(10,7) default null, + `longitude` decimal(10,7) default null, + `altitude` decimal(8,2) default null, + `entidade_id` int unsigned default null, + `local_coleta_id` int unsigned default null, + `variedade_id` int unsigned default null, + `tipo_id` int unsigned default null, + `data_identificacao_dia` tinyint unsigned default null, + `data_identificacao_mes` tinyint unsigned default null, + `data_identificacao_ano` year default null, + `situacao` enum('regular','permuta','emprestimo','doacao') default 'regular', + `especie_id` int unsigned default null, + `genero_id` int unsigned default null, + `familia_id` int unsigned default null, + `subfamilia_id` int unsigned default null, + `subespecie_id` int unsigned default null, + `nome_cientifico` text, + `colecao_anexa_id` int unsigned default null, + `cor` enum('vermelho','verde','azul') default null, + `data_coleta_mes` int unsigned default null, + `data_coleta_ano` int unsigned default null, + `solo_id` int unsigned default null, + `relevo_id` int unsigned default null, + `vegetacao_id` int unsigned default null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + `ativo` tinyint(1) default '1', + `taxon` varchar(45) default null, + `rascunho` tinyint(1) default '0', + `coletor_id` int unsigned default null, + primary key (`hcf`), + constraint `tombos_herbarios_fk` foreign key (`entidade_id`) references `herbarios` (`id`), + constraint `tombos_colecoes_anexas_fk` foreign key (`colecao_anexa_id`) references `colecoes_anexas` (`id`), + constraint `tombos_especies_fk` foreign key (`especie_id`) references `especies` (`id`), + constraint `tombos_familias_fk` foreign key (`familia_id`) references `familias` (`id`), + constraint `tombos_generos_fk` foreign key (`genero_id`) references `generos` (`id`), + constraint `tombos_locais_coleta_fk` foreign key (`local_coleta_id`) references `locais_coleta` (`id`), + constraint `tombos_subespecies_fk` foreign key (`subespecie_id`) references `subespecies` (`id`), + constraint `tombos_subfamilias_fk` foreign key (`subfamilia_id`) references `subfamilias` (`id`), + constraint `tombos_tipos_fk` foreign key (`tipo_id`) references `tipos` (`id`), + constraint `tombos_solos_fk` foreign key (`solo_id`) references `solos` (`id`), + constraint `tombos_relevos_fk` foreign key (`relevo_id`) references `relevos` (`id`), + constraint `tombos_vegetacoes_fk` foreign key (`vegetacao_id`) references `vegetacoes` (`id`), + constraint `tombos_coletores_fk` foreign key (`coletor_id`) references `coletores` (`id`), + index `tombos_situacao_idx` (`situacao`), + index `tombos_ativo_idx` (`ativo`), + index `tombos_taxonomia_idx` (`familia_id`, `genero_id`, `especie_id`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `coletores_complementares` ( + `hcf` int unsigned not null, + `complementares` varchar(1000) not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`hcf`), + constraint `coletores_complementares_tombos_fk` foreign key (`hcf`) references `tombos` (`hcf`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `identificadores` ( + `id` int unsigned not null auto_increment, + `nome` varchar(255) not null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + index `identificadores_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `tombos_identificadores` ( + `identificador_id` int unsigned not null, + `tombo_hcf` int unsigned not null, + `ordem` tinyint unsigned default 1, + primary key (`identificador_id`, `tombo_hcf`), + constraint `tombos_identificadores_identificadores_fk` foreign key (`identificador_id`) references `identificadores` (`id`), + constraint `tombos_identificadores_tombos_fk` foreign key (`tombo_hcf`) references `tombos` (`hcf`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `tombos_fotos` ( + `id` int unsigned not null auto_increment, + `tombo_hcf` int unsigned not null, + `codigo_barra` varchar(45) default '', + `num_barra` varchar(45) default '', + `caminho_foto` text, + `em_vivo` tinyint(1) not null default '0', + `sequencia` int unsigned default null, + `ativo` tinyint(1) default '1', + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + constraint `tombos_fotos_tombos_fk` foreign key (`tombo_hcf`) references `tombos` (`hcf`), + index `tombos_fotos_ativo_idx` (`ativo`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `alteracoes` ( + `id` int unsigned not null auto_increment, + `usuario_id` int unsigned not null, + `status` enum('esperando','aprovado','reprovado') not null, + `observacao` text, + `ativo` tinyint(1) default '1', + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + `tombo_hcf` int unsigned not null, + `tombo_json` json, + `identificacao` tinyint(1) default '0', + primary key (`id`), + constraint `alteracoes_tombos_fk` foreign key (`tombo_hcf`) references `tombos` (`hcf`), + constraint `alteracoes_usuarios_fk` foreign key (`usuario_id`) references `usuarios` (`id`), + index `alteracoes_status_idx` (`status`), + index `alteracoes_ativo_idx` (`ativo`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +create table `retirada_exsicata_tombos` ( + `retirada_exsicata_id` int unsigned not null, + `tombo_hcf` int unsigned not null, + `tipo` enum('doacao','emprestimo','permuta') not null, + `data_vencimento` datetime default null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + `devolvido` tinyint(1) default '0', + primary key (`retirada_exsicata_id`,`tombo_hcf`), + constraint `retirada_exsicata_tombos_remessas_fk` foreign key (`retirada_exsicata_id`) references `remessas` (`id`), + constraint `retirada_exsicata_tombos_tombos_fk` foreign key (`tombo_hcf`) references `tombos` (`hcf`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; diff --git a/src/database/migrations/20250426233245_configuracao.sql b/src/database/migrations/20250426233245_configuracao.sql new file mode 100644 index 00000000..629f4d8a --- /dev/null +++ b/src/database/migrations/20250426233245_configuracao.sql @@ -0,0 +1,13 @@ +create table `configuracao` ( + `id` int unsigned not null auto_increment, + `hora_inicio` varchar(19) not null, + `hora_fim` varchar(19) default null, + `periodicidade` enum('manual','semanal','1mes','2meses') default null, + `data_proxima_atualizacao` varchar(10) default null, + `nome_arquivo` varchar(50) default null, + `servico` enum('reflora','specieslink') default null, + `created_at` datetime not null default current_timestamp, + `updated_at` datetime not null default current_timestamp on update current_timestamp, + primary key (`id`), + index `configuracao_servico_idx` (`servico`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; diff --git a/yarn.lock b/yarn.lock index d61d71e9..af3a956b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,7 +12,7 @@ "@babel/cli@7.27.0": version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.27.0.tgz#076603b25fc7dd88298ea94ab249c8237c7e71cc" + resolved "https://registry.npmjs.org/@babel/cli/-/cli-7.27.0.tgz#076603b25fc7dd88298ea94ab249c8237c7e71cc" integrity sha512-bZfxn8DRxwiVzDO5CEeV+7IqXeCkzI4yYnrQbpwjT76CUyossQc6RYE7n+xfm0/2k40lPaCpW0FhxYs7EBAetw== dependencies: "@jridgewell/trace-mapping" "^0.3.25" @@ -35,14 +35,14 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.26.8": +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.26.8": version "7.26.8" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz" integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== "@babel/core@7.26.10", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": version "7.26.10" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz#5c876f83c8c4dcb233ee4b670c0606f2ac3000f9" integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ== dependencies: "@ampproject/remapping" "^2.2.0" @@ -79,7 +79,7 @@ dependencies: "@babel/types" "^7.25.9" -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9", "@babel/helper-compilation-targets@^7.26.5": +"@babel/helper-compilation-targets@^7.22.10", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9", "@babel/helper-compilation-targets@^7.26.5": version "7.27.0" resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz" integrity sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA== @@ -112,7 +112,29 @@ regexpu-core "^6.2.0" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.3", "@babel/helper-define-polyfill-provider@^0.6.4": +"@babel/helper-define-polyfill-provider@^0.4.4": + version "0.4.4" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz" + integrity sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-define-polyfill-provider@^0.5.0": + version "0.5.0" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz" + integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-define-polyfill-provider@^0.6.4": version "0.6.4" resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz" integrity sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw== @@ -155,7 +177,7 @@ dependencies: "@babel/types" "^7.25.9" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.26.5", "@babel/helper-plugin-utils@^7.8.0": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.26.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.26.5" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz" integrity sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg== @@ -196,7 +218,7 @@ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz" integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== -"@babel/helper-validator-option@^7.25.9": +"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.22.5", "@babel/helper-validator-option@^7.25.9": version "7.25.9" resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz" integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== @@ -220,7 +242,7 @@ "@babel/node@7.26.0": version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.26.0.tgz#4b126f4eb56a05a97990a650fae0a24ad9b0c583" + resolved "https://registry.npmjs.org/@babel/node/-/node-7.26.0.tgz#4b126f4eb56a05a97990a650fae0a24ad9b0c583" integrity sha512-5ASMjh42hbnqyCOK68Q5chh1jKAqn91IswFTN+niwt4FLABhEWCT1tEuuo6mlNQ4WG/oFQLvJ71PaHAKtWtJyA== dependencies: "@babel/register" "^7.25.9" @@ -237,45 +259,22 @@ dependencies: "@babel/types" "^7.27.0" -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe" - integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz#af9e4fb63ccb8abcb92375b2fcfe36b60c774d30" - integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9": +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz#e8dc26fcd616e6c5bf2bd0d5a2c151d4f92a9137" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz" integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz#807a667f9158acac6f6164b4beb85ad9ebc9e1d1" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz" integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g== dependencies: "@babel/helper-plugin-utils" "^7.25.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" "@babel/plugin-transform-optional-chaining" "^7.25.9" -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz#de7093f1e7deaf68eadd7cc6b07f2ab82543269e" - integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/plugin-proposal-class-properties@7.18.6": version "7.18.6" resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" @@ -317,14 +316,28 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-import-assertions@^7.26.0": +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.22.5": version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz#620412405058efa56e4a564903b79355020f445f" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz" integrity sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-syntax-import-attributes@^7.24.7", "@babel/plugin-syntax-import-attributes@^7.26.0": +"@babel/plugin-syntax-import-attributes@^7.22.5", "@babel/plugin-syntax-import-attributes@^7.24.7": version "7.26.0" resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz" integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== @@ -423,64 +436,64 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.25.9": +"@babel/plugin-transform-arrow-functions@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz#7821d4410bee5daaadbb4cdd9a6649704e176845" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz" integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-async-generator-functions@^7.26.8": +"@babel/plugin-transform-async-generator-functions@^7.22.10": version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz#5e3991135e3b9c6eaaf5eff56d1ae5a11df45ff8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz" integrity sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg== dependencies: "@babel/helper-plugin-utils" "^7.26.5" "@babel/helper-remap-async-to-generator" "^7.25.9" "@babel/traverse" "^7.26.8" -"@babel/plugin-transform-async-to-generator@^7.25.9": +"@babel/plugin-transform-async-to-generator@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz#c80008dacae51482793e5a9c08b39a5be7e12d71" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz" integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ== dependencies: "@babel/helper-module-imports" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" "@babel/helper-remap-async-to-generator" "^7.25.9" -"@babel/plugin-transform-block-scoped-functions@^7.26.5": +"@babel/plugin-transform-block-scoped-functions@^7.22.5": version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz#3dc4405d31ad1cbe45293aa57205a6e3b009d53e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz" integrity sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ== dependencies: "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-block-scoping@^7.25.9": +"@babel/plugin-transform-block-scoping@^7.22.10": version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.0.tgz#acc2c0d98a7439bbde4244588ddbd4904701d47f" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.0.tgz" integrity sha512-u1jGphZ8uDI2Pj/HJj6YQ6XQLZCNjOlprjxB5SVz6rq2T6SwAR+CdrWK0CP7F+9rDVMXdB0+r6Am5G5aobOjAQ== dependencies: "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-class-properties@^7.25.9": +"@babel/plugin-transform-class-properties@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz#a8ce84fedb9ad512549984101fa84080a9f5f51f" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz" integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q== dependencies: "@babel/helper-create-class-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-class-static-block@^7.26.0": +"@babel/plugin-transform-class-static-block@^7.22.5": version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz#6c8da219f4eb15cae9834ec4348ff8e9e09664a0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz" integrity sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-classes@^7.25.9": +"@babel/plugin-transform-classes@^7.22.6": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz#7152457f7880b593a63ade8a861e6e26a4469f52" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz" integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg== dependencies: "@babel/helper-annotate-as-pure" "^7.25.9" @@ -490,129 +503,121 @@ "@babel/traverse" "^7.25.9" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.25.9": +"@babel/plugin-transform-computed-properties@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz#db36492c78460e534b8852b1d5befe3c923ef10b" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz" integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA== dependencies: "@babel/helper-plugin-utils" "^7.25.9" "@babel/template" "^7.25.9" -"@babel/plugin-transform-destructuring@^7.25.9": +"@babel/plugin-transform-destructuring@^7.22.10": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz#966ea2595c498224340883602d3cfd7a0c79cea1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz" integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-dotall-regex@^7.25.9": +"@babel/plugin-transform-dotall-regex@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz#bad7945dd07734ca52fe3ad4e872b40ed09bb09a" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz" integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-duplicate-keys@^7.25.9": +"@babel/plugin-transform-duplicate-keys@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz#8850ddf57dce2aebb4394bb434a7598031059e6d" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz" integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz#6f7259b4de127721a08f1e5165b852fcaa696d31" - integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-dynamic-import@^7.25.9": +"@babel/plugin-transform-dynamic-import@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz#23e917de63ed23c6600c5dd06d94669dce79f7b8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz" integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-exponentiation-operator@^7.26.3": +"@babel/plugin-transform-exponentiation-operator@^7.22.5": version "7.26.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz#e29f01b6de302c7c2c794277a48f04a9ca7f03bc" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz" integrity sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-export-namespace-from@^7.25.9": +"@babel/plugin-transform-export-namespace-from@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz#90745fe55053394f554e40584cda81f2c8a402a2" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz" integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-for-of@^7.26.9": +"@babel/plugin-transform-for-of@^7.22.5": version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz#27231f79d5170ef33b5111f07fe5cafeb2c96a56" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz" integrity sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg== dependencies: "@babel/helper-plugin-utils" "^7.26.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" -"@babel/plugin-transform-function-name@^7.25.9": +"@babel/plugin-transform-function-name@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz#939d956e68a606661005bfd550c4fc2ef95f7b97" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz" integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA== dependencies: "@babel/helper-compilation-targets" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" "@babel/traverse" "^7.25.9" -"@babel/plugin-transform-json-strings@^7.25.9": +"@babel/plugin-transform-json-strings@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz#c86db407cb827cded902a90c707d2781aaa89660" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz" integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-literals@^7.25.9": +"@babel/plugin-transform-literals@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz#1a1c6b4d4aa59bc4cad5b6b3a223a0abd685c9de" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz" integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-logical-assignment-operators@^7.25.9": +"@babel/plugin-transform-logical-assignment-operators@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz#b19441a8c39a2fda0902900b306ea05ae1055db7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz" integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-member-expression-literals@^7.25.9": +"@babel/plugin-transform-member-expression-literals@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz#63dff19763ea64a31f5e6c20957e6a25e41ed5de" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz" integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-amd@^7.25.9": +"@babel/plugin-transform-modules-amd@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz#49ba478f2295101544abd794486cd3088dddb6c5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz" integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw== dependencies: "@babel/helper-module-transforms" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-commonjs@^7.26.3": +"@babel/plugin-transform-modules-commonjs@^7.22.15", "@babel/plugin-transform-modules-commonjs@^7.22.5": version "7.26.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz#8f011d44b20d02c3de44d8850d971d8497f981fb" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz" integrity sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ== dependencies: "@babel/helper-module-transforms" "^7.26.0" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-systemjs@^7.25.9": +"@babel/plugin-transform-modules-systemjs@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz#8bd1b43836269e3d33307151a114bcf3ba6793f8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz" integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA== dependencies: "@babel/helper-module-transforms" "^7.25.9" @@ -620,68 +625,68 @@ "@babel/helper-validator-identifier" "^7.25.9" "@babel/traverse" "^7.25.9" -"@babel/plugin-transform-modules-umd@^7.25.9": +"@babel/plugin-transform-modules-umd@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz#6710079cdd7c694db36529a1e8411e49fcbf14c9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz" integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw== dependencies: "@babel/helper-module-transforms" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9": +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz#454990ae6cc22fd2a0fa60b3a2c6f63a38064e6a" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz" integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-new-target@^7.25.9": +"@babel/plugin-transform-new-target@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz#42e61711294b105c248336dcb04b77054ea8becd" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz" integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-nullish-coalescing-operator@^7.26.6": +"@babel/plugin-transform-nullish-coalescing-operator@^7.22.5": version "7.26.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz#fbf6b3c92cb509e7b319ee46e3da89c5bedd31fe" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz" integrity sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw== dependencies: "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-numeric-separator@^7.25.9": +"@babel/plugin-transform-numeric-separator@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz#bfed75866261a8b643468b0ccfd275f2033214a1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz" integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-object-rest-spread@^7.25.9": +"@babel/plugin-transform-object-rest-spread@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz" integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg== dependencies: "@babel/helper-compilation-targets" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" "@babel/plugin-transform-parameters" "^7.25.9" -"@babel/plugin-transform-object-super@^7.25.9": +"@babel/plugin-transform-object-super@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz#385d5de135162933beb4a3d227a2b7e52bb4cf03" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz" integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A== dependencies: "@babel/helper-plugin-utils" "^7.25.9" "@babel/helper-replace-supers" "^7.25.9" -"@babel/plugin-transform-optional-catch-binding@^7.25.9": +"@babel/plugin-transform-optional-catch-binding@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz#10e70d96d52bb1f10c5caaac59ac545ea2ba7ff3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz" integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-optional-chaining@^7.25.9": +"@babel/plugin-transform-optional-chaining@^7.22.10", "@babel/plugin-transform-optional-chaining@^7.25.9": version "7.25.9" resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz" integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A== @@ -689,33 +694,33 @@ "@babel/helper-plugin-utils" "^7.25.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" -"@babel/plugin-transform-parameters@^7.25.9": +"@babel/plugin-transform-parameters@^7.22.5", "@babel/plugin-transform-parameters@^7.25.9": version "7.25.9" resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz" integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-private-methods@^7.25.9": +"@babel/plugin-transform-private-methods@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz#847f4139263577526455d7d3223cd8bda51e3b57" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz" integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw== dependencies: "@babel/helper-create-class-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-private-property-in-object@^7.25.9": +"@babel/plugin-transform-private-property-in-object@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz#9c8b73e64e6cc3cbb2743633885a7dd2c385fe33" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz" integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw== dependencies: "@babel/helper-annotate-as-pure" "^7.25.9" "@babel/helper-create-class-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-property-literals@^7.25.9": +"@babel/plugin-transform-property-literals@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz#d72d588bd88b0dec8b62e36f6fda91cedfe28e3f" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz" integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA== dependencies: "@babel/helper-plugin-utils" "^7.25.9" @@ -755,66 +760,58 @@ "@babel/plugin-transform-regenerator@^7.22.10": version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.0.tgz#822feebef43d6a59a81f696b2512df5b1682db31" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.0.tgz" integrity sha512-LX/vCajUJQDqE7Aum/ELUMZAY19+cDpghxrnyt5I1tV6X5PyC86AOoWXWFYFeIvauyeSA6/ktn4tQVn/3ZifsA== dependencies: "@babel/helper-plugin-utils" "^7.26.5" regenerator-transform "^0.15.2" -"@babel/plugin-transform-regexp-modifiers@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz#2f5837a5b5cd3842a919d8147e9903cc7455b850" - integrity sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-reserved-words@^7.25.9": +"@babel/plugin-transform-reserved-words@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz#0398aed2f1f10ba3f78a93db219b27ef417fb9ce" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz" integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-shorthand-properties@^7.25.9": +"@babel/plugin-transform-shorthand-properties@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz#bb785e6091f99f826a95f9894fc16fde61c163f2" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz" integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-spread@^7.25.9": +"@babel/plugin-transform-spread@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz#24a35153931b4ba3d13cec4a7748c21ab5514ef9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz" integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A== dependencies: "@babel/helper-plugin-utils" "^7.25.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" -"@babel/plugin-transform-sticky-regex@^7.25.9": +"@babel/plugin-transform-sticky-regex@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz#c7f02b944e986a417817b20ba2c504dfc1453d32" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz" integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-template-literals@^7.26.8": +"@babel/plugin-transform-template-literals@^7.22.5": version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz#966b15d153a991172a540a69ad5e1845ced990b5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz" integrity sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q== dependencies: "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-typeof-symbol@^7.26.7": +"@babel/plugin-transform-typeof-symbol@^7.22.5": version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.0.tgz#044a0890f3ca694207c7826d0c7a65e5ac008aae" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.0.tgz" integrity sha512-+LLkxA9rKJpNoGsbLnAgOCdESl73vwYn+V6b+5wHbrE7OGKVDPHIQvbFSzqE6rwqaCw2RE+zdJrlLkcf8YOA0w== dependencies: "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-typescript@^7.27.0": +"@babel/plugin-transform-typescript@^7.22.15": version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.0.tgz#a29fd3481da85601c7e34091296e9746d2cccba8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.0.tgz" integrity sha512-fRGGjO2UEGPjvEcyAZXRXAS8AfdaQoq7HnxAbJoAoW10B9xOKesmmndJv+Sym2a+9FHWZ9KbyyLCe9s0Sn5jtg== dependencies: "@babel/helper-annotate-as-pure" "^7.25.9" @@ -823,110 +820,121 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" "@babel/plugin-syntax-typescript" "^7.25.9" -"@babel/plugin-transform-unicode-escapes@^7.25.9": +"@babel/plugin-transform-unicode-escapes@^7.22.10": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz#a75ef3947ce15363fccaa38e2dd9bc70b2788b82" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz" integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q== dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-unicode-property-regex@^7.25.9": +"@babel/plugin-transform-unicode-property-regex@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz#a901e96f2c1d071b0d1bb5dc0d3c880ce8f53dd3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz" integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-unicode-regex@^7.25.9": +"@babel/plugin-transform-unicode-regex@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz#5eae747fe39eacf13a8bd006a4fb0b5d1fa5e9b1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz" integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-unicode-sets-regex@^7.25.9": +"@babel/plugin-transform-unicode-sets-regex@^7.22.5": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz#65114c17b4ffc20fa5b163c63c70c0d25621fabe" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz" integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/preset-env@7.26.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.26.9.tgz#2ec64e903d0efe743699f77a10bdf7955c2123c3" - integrity sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ== +"@babel/preset-env@7.22.10": + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz" + integrity sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A== dependencies: - "@babel/compat-data" "^7.26.8" - "@babel/helper-compilation-targets" "^7.26.5" - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9" - "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9" + "@babel/compat-data" "^7.22.9" + "@babel/helper-compilation-targets" "^7.22.10" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.5" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.5" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions" "^7.26.0" - "@babel/plugin-syntax-import-attributes" "^7.26.0" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.22.5" + "@babel/plugin-syntax-import-attributes" "^7.22.5" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.25.9" - "@babel/plugin-transform-async-generator-functions" "^7.26.8" - "@babel/plugin-transform-async-to-generator" "^7.25.9" - "@babel/plugin-transform-block-scoped-functions" "^7.26.5" - "@babel/plugin-transform-block-scoping" "^7.25.9" - "@babel/plugin-transform-class-properties" "^7.25.9" - "@babel/plugin-transform-class-static-block" "^7.26.0" - "@babel/plugin-transform-classes" "^7.25.9" - "@babel/plugin-transform-computed-properties" "^7.25.9" - "@babel/plugin-transform-destructuring" "^7.25.9" - "@babel/plugin-transform-dotall-regex" "^7.25.9" - "@babel/plugin-transform-duplicate-keys" "^7.25.9" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-dynamic-import" "^7.25.9" - "@babel/plugin-transform-exponentiation-operator" "^7.26.3" - "@babel/plugin-transform-export-namespace-from" "^7.25.9" - "@babel/plugin-transform-for-of" "^7.26.9" - "@babel/plugin-transform-function-name" "^7.25.9" - "@babel/plugin-transform-json-strings" "^7.25.9" - "@babel/plugin-transform-literals" "^7.25.9" - "@babel/plugin-transform-logical-assignment-operators" "^7.25.9" - "@babel/plugin-transform-member-expression-literals" "^7.25.9" - "@babel/plugin-transform-modules-amd" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.26.3" - "@babel/plugin-transform-modules-systemjs" "^7.25.9" - "@babel/plugin-transform-modules-umd" "^7.25.9" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-new-target" "^7.25.9" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.26.6" - "@babel/plugin-transform-numeric-separator" "^7.25.9" - "@babel/plugin-transform-object-rest-spread" "^7.25.9" - "@babel/plugin-transform-object-super" "^7.25.9" - "@babel/plugin-transform-optional-catch-binding" "^7.25.9" - "@babel/plugin-transform-optional-chaining" "^7.25.9" - "@babel/plugin-transform-parameters" "^7.25.9" - "@babel/plugin-transform-private-methods" "^7.25.9" - "@babel/plugin-transform-private-property-in-object" "^7.25.9" - "@babel/plugin-transform-property-literals" "^7.25.9" - "@babel/plugin-transform-regenerator" "^7.25.9" - "@babel/plugin-transform-regexp-modifiers" "^7.26.0" - "@babel/plugin-transform-reserved-words" "^7.25.9" - "@babel/plugin-transform-shorthand-properties" "^7.25.9" - "@babel/plugin-transform-spread" "^7.25.9" - "@babel/plugin-transform-sticky-regex" "^7.25.9" - "@babel/plugin-transform-template-literals" "^7.26.8" - "@babel/plugin-transform-typeof-symbol" "^7.26.7" - "@babel/plugin-transform-unicode-escapes" "^7.25.9" - "@babel/plugin-transform-unicode-property-regex" "^7.25.9" - "@babel/plugin-transform-unicode-regex" "^7.25.9" - "@babel/plugin-transform-unicode-sets-regex" "^7.25.9" + "@babel/plugin-transform-arrow-functions" "^7.22.5" + "@babel/plugin-transform-async-generator-functions" "^7.22.10" + "@babel/plugin-transform-async-to-generator" "^7.22.5" + "@babel/plugin-transform-block-scoped-functions" "^7.22.5" + "@babel/plugin-transform-block-scoping" "^7.22.10" + "@babel/plugin-transform-class-properties" "^7.22.5" + "@babel/plugin-transform-class-static-block" "^7.22.5" + "@babel/plugin-transform-classes" "^7.22.6" + "@babel/plugin-transform-computed-properties" "^7.22.5" + "@babel/plugin-transform-destructuring" "^7.22.10" + "@babel/plugin-transform-dotall-regex" "^7.22.5" + "@babel/plugin-transform-duplicate-keys" "^7.22.5" + "@babel/plugin-transform-dynamic-import" "^7.22.5" + "@babel/plugin-transform-exponentiation-operator" "^7.22.5" + "@babel/plugin-transform-export-namespace-from" "^7.22.5" + "@babel/plugin-transform-for-of" "^7.22.5" + "@babel/plugin-transform-function-name" "^7.22.5" + "@babel/plugin-transform-json-strings" "^7.22.5" + "@babel/plugin-transform-literals" "^7.22.5" + "@babel/plugin-transform-logical-assignment-operators" "^7.22.5" + "@babel/plugin-transform-member-expression-literals" "^7.22.5" + "@babel/plugin-transform-modules-amd" "^7.22.5" + "@babel/plugin-transform-modules-commonjs" "^7.22.5" + "@babel/plugin-transform-modules-systemjs" "^7.22.5" + "@babel/plugin-transform-modules-umd" "^7.22.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.22.5" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.5" + "@babel/plugin-transform-numeric-separator" "^7.22.5" + "@babel/plugin-transform-object-rest-spread" "^7.22.5" + "@babel/plugin-transform-object-super" "^7.22.5" + "@babel/plugin-transform-optional-catch-binding" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.22.10" + "@babel/plugin-transform-parameters" "^7.22.5" + "@babel/plugin-transform-private-methods" "^7.22.5" + "@babel/plugin-transform-private-property-in-object" "^7.22.5" + "@babel/plugin-transform-property-literals" "^7.22.5" + "@babel/plugin-transform-regenerator" "^7.22.10" + "@babel/plugin-transform-reserved-words" "^7.22.5" + "@babel/plugin-transform-shorthand-properties" "^7.22.5" + "@babel/plugin-transform-spread" "^7.22.5" + "@babel/plugin-transform-sticky-regex" "^7.22.5" + "@babel/plugin-transform-template-literals" "^7.22.5" + "@babel/plugin-transform-typeof-symbol" "^7.22.5" + "@babel/plugin-transform-unicode-escapes" "^7.22.10" + "@babel/plugin-transform-unicode-property-regex" "^7.22.5" + "@babel/plugin-transform-unicode-regex" "^7.22.5" + "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.11.0" - babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.40.0" + "@babel/types" "^7.22.10" + babel-plugin-polyfill-corejs2 "^0.4.5" + babel-plugin-polyfill-corejs3 "^0.8.3" + babel-plugin-polyfill-regenerator "^0.5.2" + core-js-compat "^3.31.0" semver "^6.3.1" "@babel/preset-modules@0.1.6-no-external-plugins": @@ -955,15 +963,15 @@ resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.15.tgz" integrity sha512-HblhNmh6yM+cU4VwbBRpxFhxsTdfS1zsvH9W+gEjD0ARV9+8B4sNfpI6GuhePti84nuvhiwKS539jKPFHskA9A== dependencies: - "@babel/helper-plugin-utils" "^7.26.5" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-syntax-jsx" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.26.3" - "@babel/plugin-transform-typescript" "^7.27.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.22.5" + "@babel/plugin-transform-modules-commonjs" "^7.22.15" + "@babel/plugin-transform-typescript" "^7.22.15" "@babel/register@^7.25.9": version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.25.9.tgz#1c465acf7dc983d70ccc318eb5b887ecb04f021b" + resolved "https://registry.npmjs.org/@babel/register/-/register-7.25.9.tgz#1c465acf7dc983d70ccc318eb5b887ecb04f021b" integrity sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA== dependencies: clone-deep "^4.0.1" @@ -1001,7 +1009,7 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.27.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.10", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.27.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.27.0" resolved "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz" integrity sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg== @@ -1014,130 +1022,130 @@ resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@esbuild/aix-ppc64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz#b87036f644f572efb2b3c75746c97d1d2d87ace8" - integrity sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag== - -"@esbuild/android-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz#5ca7dc20a18f18960ad8d5e6ef5cf7b0a256e196" - integrity sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w== - -"@esbuild/android-arm@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.2.tgz#3c49f607b7082cde70c6ce0c011c362c57a194ee" - integrity sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA== - -"@esbuild/android-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.2.tgz#8a00147780016aff59e04f1036e7cb1b683859e2" - integrity sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg== - -"@esbuild/darwin-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz#486efe7599a8d90a27780f2bb0318d9a85c6c423" - integrity sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA== - -"@esbuild/darwin-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz#95ee222aacf668c7a4f3d7ee87b3240a51baf374" - integrity sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA== - -"@esbuild/freebsd-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz#67efceda8554b6fc6a43476feba068fb37fa2ef6" - integrity sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w== - -"@esbuild/freebsd-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz#88a9d7ecdd3adadbfe5227c2122d24816959b809" - integrity sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ== - -"@esbuild/linux-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz#87be1099b2bbe61282333b084737d46bc8308058" - integrity sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g== - -"@esbuild/linux-arm@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz#72a285b0fe64496e191fcad222185d7bf9f816f6" - integrity sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g== - -"@esbuild/linux-ia32@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz#337a87a4c4dd48a832baed5cbb022be20809d737" - integrity sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ== - -"@esbuild/linux-loong64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz#1b81aa77103d6b8a8cfa7c094ed3d25c7579ba2a" - integrity sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w== - -"@esbuild/linux-mips64el@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz#afbe380b6992e7459bf7c2c3b9556633b2e47f30" - integrity sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q== - -"@esbuild/linux-ppc64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz#6bf8695cab8a2b135cca1aa555226dc932d52067" - integrity sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g== - -"@esbuild/linux-riscv64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz#43c2d67a1a39199fb06ba978aebb44992d7becc3" - integrity sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw== - -"@esbuild/linux-s390x@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz#419e25737ec815c6dce2cd20d026e347cbb7a602" - integrity sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q== - -"@esbuild/linux-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz#22451f6edbba84abe754a8cbd8528ff6e28d9bcb" - integrity sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg== - -"@esbuild/netbsd-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz#744affd3b8d8236b08c5210d828b0698a62c58ac" - integrity sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw== - -"@esbuild/netbsd-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz#dbbe7521fd6d7352f34328d676af923fc0f8a78f" - integrity sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg== - -"@esbuild/openbsd-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz#f9caf987e3e0570500832b487ce3039ca648ce9f" - integrity sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg== - -"@esbuild/openbsd-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz#d2bb6a0f8ffea7b394bb43dfccbb07cabd89f768" - integrity sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw== - -"@esbuild/sunos-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz#49b437ed63fe333b92137b7a0c65a65852031afb" - integrity sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA== - -"@esbuild/win32-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz#081424168463c7d6c7fb78f631aede0c104373cf" - integrity sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q== - -"@esbuild/win32-ia32@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz#3f9e87143ddd003133d21384944a6c6cadf9693f" - integrity sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg== - -"@esbuild/win32-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz#839f72c2decd378f86b8f525e1979a97b920c67d" - integrity sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA== +"@esbuild/aix-ppc64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz#014180d9a149cffd95aaeead37179433f5ea5437" + integrity sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ== + +"@esbuild/android-arm64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz#649e47e04ddb24a27dc05c395724bc5f4c55cbfe" + integrity sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ== + +"@esbuild/android-arm@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.3.tgz#8a0f719c8dc28a4a6567ef7328c36ea85f568ff4" + integrity sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A== + +"@esbuild/android-x64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.3.tgz#e2ab182d1fd06da9bef0784a13c28a7602d78009" + integrity sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ== + +"@esbuild/darwin-arm64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz#c7f3166fcece4d158a73dcfe71b2672ca0b1668b" + integrity sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w== + +"@esbuild/darwin-x64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz#d8c5342ec1a4bf4b1915643dfe031ba4b173a87a" + integrity sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A== + +"@esbuild/freebsd-arm64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz#9f7d789e2eb7747d4868817417cc968ffa84f35b" + integrity sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw== + +"@esbuild/freebsd-x64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz#8ad35c51d084184a8e9e76bb4356e95350a64709" + integrity sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q== + +"@esbuild/linux-arm64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz#3af0da3d9186092a9edd4e28fa342f57d9e3cd30" + integrity sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A== + +"@esbuild/linux-arm@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz#e91cafa95e4474b3ae3d54da12e006b782e57225" + integrity sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ== + +"@esbuild/linux-ia32@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz#81025732d85b68ee510161b94acdf7e3007ea177" + integrity sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw== + +"@esbuild/linux-loong64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz#3c744e4c8d5e1148cbe60a71a11b58ed8ee5deb8" + integrity sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g== + +"@esbuild/linux-mips64el@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz#1dfe2a5d63702db9034cc6b10b3087cc0424ec26" + integrity sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag== + +"@esbuild/linux-ppc64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz#2e85d9764c04a1ebb346dc0813ea05952c9a5c56" + integrity sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg== + +"@esbuild/linux-riscv64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz#a9ea3334556b09f85ccbfead58c803d305092415" + integrity sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA== + +"@esbuild/linux-s390x@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz#f6a7cb67969222b200974de58f105dfe8e99448d" + integrity sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ== + +"@esbuild/linux-x64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz#a237d3578ecdd184a3066b1f425e314ade0f8033" + integrity sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA== + +"@esbuild/netbsd-arm64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz#4c15c68d8149614ddb6a56f9c85ae62ccca08259" + integrity sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA== + +"@esbuild/netbsd-x64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz#12f6856f8c54c2d7d0a8a64a9711c01a743878d5" + integrity sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g== + +"@esbuild/openbsd-arm64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz#ca078dad4a34df192c60233b058db2ca3d94bc5c" + integrity sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ== + +"@esbuild/openbsd-x64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz#c9178adb60e140e03a881d0791248489c79f95b2" + integrity sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w== + +"@esbuild/sunos-x64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz#03765eb6d4214ff27e5230af779e80790d1ee09f" + integrity sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA== + +"@esbuild/win32-arm64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz#f1c867bd1730a9b8dfc461785ec6462e349411ea" + integrity sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ== + +"@esbuild/win32-ia32@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz#77491f59ef6c9ddf41df70670d5678beb3acc322" + integrity sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew== + +"@esbuild/win32-x64@0.25.3": + version "0.25.3" + resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz#b17a2171f9074df9e91bfb07ef99a892ac06412a" + integrity sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg== "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.5.1" @@ -1826,7 +1834,7 @@ abbrev@1: accepts@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-2.0.0.tgz#bbcf4ba5075467f3f2131eab3cffc73c2f5d7895" + resolved "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz#bbcf4ba5075467f3f2131eab3cffc73c2f5d7895" integrity sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng== dependencies: mime-types "^3.0.0" @@ -2071,7 +2079,7 @@ aws-sign2@~0.7.0: aws-ssl-profiles@^1.1.1: version "1.1.2" - resolved "https://registry.yarnpkg.com/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz#157dd77e9f19b1d123678e93f120e6f193022641" + resolved "https://registry.npmjs.org/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz#157dd77e9f19b1d123678e93f120e6f193022641" integrity sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g== aws4@^1.8.0: @@ -2129,7 +2137,7 @@ babel-plugin-jest-hoist@^29.6.3: babel-plugin-module-resolver@5.0.2: version "5.0.2" - resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.2.tgz#cdeac5d4aaa3b08dd1ac23ddbf516660ed2d293e" + resolved "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.2.tgz#cdeac5d4aaa3b08dd1ac23ddbf516660ed2d293e" integrity sha512-9KtaCazHee2xc0ibfqsDeamwDps6FZNo5S0Q81dUqEuFzVwPhcT4J5jOqIVvgCA3Q/wO9hKYxN/Ds3tIsp5ygg== dependencies: find-babel-config "^2.1.1" @@ -2138,29 +2146,29 @@ babel-plugin-module-resolver@5.0.2: reselect "^4.1.7" resolve "^1.22.8" -babel-plugin-polyfill-corejs2@^0.4.10: +babel-plugin-polyfill-corejs2@^0.4.5: version "0.4.13" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz#7d445f0e0607ebc8fb6b01d7e8fb02069b91dd8b" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz" integrity sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g== dependencies: "@babel/compat-data" "^7.22.6" "@babel/helper-define-polyfill-provider" "^0.6.4" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz#4e4e182f1bb37c7ba62e2af81d8dd09df31344f6" - integrity sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ== +babel-plugin-polyfill-corejs3@^0.8.3: + version "0.8.7" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz" + integrity sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.3" - core-js-compat "^3.40.0" + "@babel/helper-define-polyfill-provider" "^0.4.4" + core-js-compat "^3.33.1" -babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz#428c615d3c177292a22b4f93ed99e358d7906a9b" - integrity sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw== +babel-plugin-polyfill-regenerator@^0.5.2: + version "0.5.5" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz" + integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.4" + "@babel/helper-define-polyfill-provider" "^0.5.0" babel-preset-current-node-syntax@^1.0.0: version "1.1.0" @@ -2268,7 +2276,7 @@ bluebird@3.7.2, bluebird@^3.4.6, bluebird@^3.5.0: body-parser@2.2.0, body-parser@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-2.2.0.tgz#f7a9656de305249a715b549b7b8fd1ab9dfddcfa" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz#f7a9656de305249a715b549b7b8fd1ab9dfddcfa" integrity sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg== dependencies: bytes "^3.1.2" @@ -2344,7 +2352,7 @@ busboy@^1.0.0: bytes@3.1.2, bytes@^3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: @@ -2465,7 +2473,7 @@ check-error@^1.0.1: chokidar@^3.5.2, chokidar@^3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" @@ -2580,7 +2588,7 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: commander@13.1.0: version "13.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-13.1.0.tgz#776167db68c78f38dcce1f9b8d7b8b9a488abf46" + resolved "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz#776167db68c78f38dcce1f9b8d7b8b9a488abf46" integrity sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw== commander@^10.0.0: @@ -2590,7 +2598,7 @@ commander@^10.0.0: commander@^6.2.0: version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + resolved "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== commondir@^1.0.1: @@ -2630,14 +2638,14 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0: content-disposition@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-1.0.0.tgz#844426cb398f934caefcbb172200126bc7ceace2" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz#844426cb398f934caefcbb172200126bc7ceace2" integrity sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg== dependencies: safe-buffer "5.2.1" content-type@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== convert-source-map@^2.0.0: @@ -2647,12 +2655,12 @@ convert-source-map@^2.0.0: cookie-signature@^1.2.1: version "1.2.2" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.2.2.tgz#57c7fc3cc293acab9fec54d73e15690ebe4a1793" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz#57c7fc3cc293acab9fec54d73e15690ebe4a1793" integrity sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg== cookie@^0.7.1: version "0.7.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== cookiejar@^2.1.4: @@ -2660,9 +2668,9 @@ cookiejar@^2.1.4: resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz" integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== -core-js-compat@^3.40.0: +core-js-compat@^3.31.0, core-js-compat@^3.33.1: version "3.41.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.41.0.tgz#4cdfce95f39a8f27759b667cf693d96e5dda3d17" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz" integrity sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A== dependencies: browserslist "^4.24.4" @@ -2779,7 +2787,7 @@ data-view-byte-offset@^1.0.1: date-fns@4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-4.1.0.tgz#64b3d83fff5aa80438f5b1a633c2e83b8a1c2d14" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz#64b3d83fff5aa80438f5b1a633c2e83b8a1c2d14" integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg== debug@2.6.9, debug@^2.6.9: @@ -2994,7 +3002,7 @@ emoji-regex@^8.0.0: encodeurl@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== end-of-stream@^1.1.0: @@ -3130,35 +3138,35 @@ es-to-primitive@^1.3.0: is-symbol "^1.0.4" esbuild@~0.25.0: - version "0.25.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.2.tgz#55a1d9ebcb3aa2f95e8bba9e900c1a5061bc168b" - integrity sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ== + version "0.25.3" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz#371f7cb41283e5b2191a96047a7a89562965a285" + integrity sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q== optionalDependencies: - "@esbuild/aix-ppc64" "0.25.2" - "@esbuild/android-arm" "0.25.2" - "@esbuild/android-arm64" "0.25.2" - "@esbuild/android-x64" "0.25.2" - "@esbuild/darwin-arm64" "0.25.2" - "@esbuild/darwin-x64" "0.25.2" - "@esbuild/freebsd-arm64" "0.25.2" - "@esbuild/freebsd-x64" "0.25.2" - "@esbuild/linux-arm" "0.25.2" - "@esbuild/linux-arm64" "0.25.2" - "@esbuild/linux-ia32" "0.25.2" - "@esbuild/linux-loong64" "0.25.2" - "@esbuild/linux-mips64el" "0.25.2" - "@esbuild/linux-ppc64" "0.25.2" - "@esbuild/linux-riscv64" "0.25.2" - "@esbuild/linux-s390x" "0.25.2" - "@esbuild/linux-x64" "0.25.2" - "@esbuild/netbsd-arm64" "0.25.2" - "@esbuild/netbsd-x64" "0.25.2" - "@esbuild/openbsd-arm64" "0.25.2" - "@esbuild/openbsd-x64" "0.25.2" - "@esbuild/sunos-x64" "0.25.2" - "@esbuild/win32-arm64" "0.25.2" - "@esbuild/win32-ia32" "0.25.2" - "@esbuild/win32-x64" "0.25.2" + "@esbuild/aix-ppc64" "0.25.3" + "@esbuild/android-arm" "0.25.3" + "@esbuild/android-arm64" "0.25.3" + "@esbuild/android-x64" "0.25.3" + "@esbuild/darwin-arm64" "0.25.3" + "@esbuild/darwin-x64" "0.25.3" + "@esbuild/freebsd-arm64" "0.25.3" + "@esbuild/freebsd-x64" "0.25.3" + "@esbuild/linux-arm" "0.25.3" + "@esbuild/linux-arm64" "0.25.3" + "@esbuild/linux-ia32" "0.25.3" + "@esbuild/linux-loong64" "0.25.3" + "@esbuild/linux-mips64el" "0.25.3" + "@esbuild/linux-ppc64" "0.25.3" + "@esbuild/linux-riscv64" "0.25.3" + "@esbuild/linux-s390x" "0.25.3" + "@esbuild/linux-x64" "0.25.3" + "@esbuild/netbsd-arm64" "0.25.3" + "@esbuild/netbsd-x64" "0.25.3" + "@esbuild/openbsd-arm64" "0.25.3" + "@esbuild/openbsd-x64" "0.25.3" + "@esbuild/sunos-x64" "0.25.3" + "@esbuild/win32-arm64" "0.25.3" + "@esbuild/win32-ia32" "0.25.3" + "@esbuild/win32-x64" "0.25.3" escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" @@ -3167,7 +3175,7 @@ escalade@^3.1.1, escalade@^3.2.0: escape-html@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== escape-string-regexp@^1.0.5: @@ -3371,7 +3379,7 @@ esutils@^2.0.2: etag@^1.8.1: version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== execa@^5.0.0: @@ -3407,7 +3415,7 @@ expect@^29.7.0: express-validator@7.2.1: version "7.2.1" - resolved "https://registry.yarnpkg.com/express-validator/-/express-validator-7.2.1.tgz#8403deaf810f9bededa0a4fd7116803e46f122c2" + resolved "https://registry.npmjs.org/express-validator/-/express-validator-7.2.1.tgz#8403deaf810f9bededa0a4fd7116803e46f122c2" integrity sha512-CjNE6aakfpuwGaHQZ3m8ltCG2Qvivd7RHtVMS/6nVxOM7xVGqr4bhflsm4+N5FP5zI7Zxp+Hae+9RE+o8e3ZOQ== dependencies: lodash "^4.17.21" @@ -3415,7 +3423,7 @@ express-validator@7.2.1: express@5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/express/-/express-5.1.0.tgz#d31beaf715a0016f0d53f47d3b4d7acf28c75cc9" + resolved "https://registry.npmjs.org/express/-/express-5.1.0.tgz#d31beaf715a0016f0d53f47d3b4d7acf28c75cc9" integrity sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA== dependencies: accepts "^2.0.0" @@ -3545,7 +3553,7 @@ fill-range@^7.1.1: finalhandler@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-2.1.0.tgz#72306373aa89d05a8242ed569ed86a1bff7c561f" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz#72306373aa89d05a8242ed569ed86a1bff7c561f" integrity sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q== dependencies: debug "^4.4.0" @@ -3557,7 +3565,7 @@ finalhandler@^2.1.0: find-babel-config@^2.1.1: version "2.1.2" - resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-2.1.2.tgz#2841b1bfbbbcdb971e1e39df8cbc43dafa901716" + resolved "https://registry.npmjs.org/find-babel-config/-/find-babel-config-2.1.2.tgz#2841b1bfbbbcdb971e1e39df8cbc43dafa901716" integrity sha512-ZfZp1rQyp4gyuxqt1ZqjFGVeVBvmpURMqdIWXbPRfB97Bf6BzdK/xSIbylEINzQ0kB5tlDQfn9HkNXXWsqTqLg== dependencies: json5 "^2.2.3" @@ -3661,7 +3669,7 @@ forwarded@0.2.0: fresh@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-2.0.0.tgz#8dd7df6a1b3a1b3a5cf186c05a5dd267622635a4" + resolved "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz#8dd7df6a1b3a1b3a5cf186c05a5dd267622635a4" integrity sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A== fs-minipass@^2.0.0: @@ -3683,7 +3691,7 @@ fs.realpath@^1.0.0: fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.2: @@ -3802,7 +3810,7 @@ get-symbol-description@^1.1.0: get-tsconfig@^4.5.0, get-tsconfig@^4.7.5: version "4.10.0" - resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz" + resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz#403a682b373a823612475a4c2928c7326fc0f6bb" integrity sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A== dependencies: resolve-pkg-maps "^1.0.0" @@ -3868,7 +3876,7 @@ glob@^7.1.3, glob@^7.1.4, glob@^7.2.0: glob@^9.3.3: version "9.3.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" + resolved "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== dependencies: fs.realpath "^1.0.0" @@ -4079,7 +4087,7 @@ human-signals@^2.1.0: husky@9.1.7: version "9.1.7" - resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.7.tgz#d46a38035d101b46a70456a850ff4201344c0b2d" + resolved "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz#d46a38035d101b46a70456a850ff4201344c0b2d" integrity sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA== iconv-lite@0.6.3, iconv-lite@^0.6.3: @@ -4329,7 +4337,7 @@ is-plain-object@^2.0.4: is-promise@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3" + resolved "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3" integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== is-property@^1.0.2: @@ -4943,7 +4951,7 @@ json5@^2.2.3: jsonwebtoken@9.0.2: version "9.0.2" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" + resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== dependencies: jws "^3.2.2" @@ -5078,32 +5086,32 @@ lodash.debounce@^4.0.8: lodash.includes@^4.3.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + resolved "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== lodash.isboolean@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + resolved "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== lodash.isinteger@^4.0.4: version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + resolved "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== lodash.isnumber@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + resolved "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== lodash.isplainobject@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== lodash.isstring@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + resolved "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== lodash.merge@^4.6.2: @@ -5113,7 +5121,7 @@ lodash.merge@^4.6.2: lodash.once@^4.0.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== lodash@^4.17.1, lodash@^4.17.21: @@ -5135,7 +5143,7 @@ loupe@^2.3.6: lru-cache@^10.2.0: version "10.4.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== lru-cache@^5.1.1: @@ -5152,7 +5160,7 @@ lru-cache@^7.14.1: lru.min@^1.0.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/lru.min/-/lru.min-1.1.2.tgz#01ce1d72cc50c7faf8bd1f809ebf05d4331021eb" + resolved "https://registry.npmjs.org/lru.min/-/lru.min-1.1.2.tgz#01ce1d72cc50c7faf8bd1f809ebf05d4331021eb" integrity sha512-Nv9KddBcQSlQopmBHXSsZVY5xsdlZkdH/Iey0BlcBYggMd4two7cZnKOK9vmy3nY0O5RGH99z1PCeTpPqszUYg== make-dir@^2.0.0, make-dir@^2.1.0: @@ -5196,7 +5204,7 @@ media-typer@0.3.0: media-typer@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-1.1.0.tgz#6ab74b8f2d3320f2064b2a87a38e7931ff3a5561" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz#6ab74b8f2d3320f2064b2a87a38e7931ff3a5561" integrity sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== memorystream@^0.3.1: @@ -5206,7 +5214,7 @@ memorystream@^0.3.1: merge-descriptors@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-2.0.0.tgz#ea922f660635a2249ee565e0449f951e6b603808" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz#ea922f660635a2249ee565e0449f951e6b603808" integrity sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g== merge-stream@^2.0.0: @@ -5239,7 +5247,7 @@ mime-db@1.52.0: mime-db@^1.54.0: version "1.54.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24: @@ -5251,7 +5259,7 @@ mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24: mime-types@^3.0.0, mime-types@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-3.0.1.tgz#b1d94d6997a9b32fd69ebaed0db73de8acb519ce" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz#b1d94d6997a9b32fd69ebaed0db73de8acb519ce" integrity sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA== dependencies: mime-db "^1.54.0" @@ -5275,7 +5283,7 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: minimatch@^8.0.2: version "8.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== dependencies: brace-expansion "^2.0.1" @@ -5294,7 +5302,7 @@ minipass@^3.0.0: minipass@^4.2.4: version "4.2.8" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" + resolved "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== minipass@^5.0.0: @@ -5304,7 +5312,7 @@ minipass@^5.0.0: "minipass@^5.0.0 || ^6.0.2 || ^7.0.0": version "7.1.2" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== minizlib@^2.1.1: @@ -5372,7 +5380,7 @@ ms@^2.1.1, ms@^2.1.3: multer@1.4.5-lts.2: version "1.4.5-lts.2" - resolved "https://registry.yarnpkg.com/multer/-/multer-1.4.5-lts.2.tgz#340af065d8685dda846ec9e3d7655fcd50afba2d" + resolved "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.2.tgz#340af065d8685dda846ec9e3d7655fcd50afba2d" integrity sha512-VzGiVigcG9zUAoCNU+xShztrlr1auZOlurXynNvO9GiWD1/mTBbUljOKY+qMeazBqXgRnjzeEgJI/wyjJUHg9A== dependencies: append-field "^1.0.0" @@ -5385,7 +5393,7 @@ multer@1.4.5-lts.2: mysql2@3.14.0: version "3.14.0" - resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-3.14.0.tgz#5a7ab528f3249ace2d0ac1180c7ac1ea40bfe20b" + resolved "https://registry.npmjs.org/mysql2/-/mysql2-3.14.0.tgz#5a7ab528f3249ace2d0ac1180c7ac1ea40bfe20b" integrity sha512-8eMhmG6gt/hRkU1G+8KlGOdQi2w+CgtNoD1ksXZq9gQfkfDsX4LHaBwTe1SY0Imx//t2iZA03DFnyYKPinxSRw== dependencies: aws-ssl-profiles "^1.1.1" @@ -5412,7 +5420,7 @@ natural-compare@^1.4.0: negotiator@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a" integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== neo-async@^2.6.2: @@ -5467,7 +5475,7 @@ node-wkhtmltopdf@^2.0.0: nodemon@3.1.9: version "3.1.9" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.9.tgz#df502cdc3b120e1c3c0c6e4152349019efa7387b" + resolved "https://registry.npmjs.org/nodemon/-/nodemon-3.1.9.tgz#df502cdc3b120e1c3c0c6e4152349019efa7387b" integrity sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg== dependencies: chokidar "^3.5.2" @@ -5621,7 +5629,7 @@ object.values@^1.1.6: on-finished@^2.4.1: version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: ee-first "1.1.1" @@ -5767,7 +5775,7 @@ parse-passwd@^1.0.0: parseurl@^1.3.3: version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== path-exists@^3.0.0: @@ -5802,7 +5810,7 @@ path-parse@^1.0.7: path-scurry@^1.6.1: version "1.11.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== dependencies: lru-cache "^10.2.0" @@ -5810,7 +5818,7 @@ path-scurry@^1.6.1: path-to-regexp@^8.0.0: version "8.2.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-8.2.0.tgz#73990cc29e57a3ff2a0d914095156df5db79e8b4" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz#73990cc29e57a3ff2a0d914095156df5db79e8b4" integrity sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ== path-type@^3.0.0: @@ -5935,7 +5943,7 @@ prompts@^2.0.1: proxy-addr@^2.0.7: version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: forwarded "0.2.0" @@ -6021,7 +6029,7 @@ q@^1.5.1: qs@^6.11.0, qs@^6.11.2, qs@^6.14.0: version "6.14.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz" + resolved "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz#c63fa40680d2c5c941412a0e899c89af60c0a930" integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== dependencies: side-channel "^1.1.0" @@ -6038,12 +6046,12 @@ queue-microtask@^1.2.2: range-parser@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== raw-body@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-3.0.0.tgz#25b3476f07a51600619dae3fe82ddc28a36e5e0f" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz#25b3476f07a51600619dae3fe82ddc28a36e5e0f" integrity sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g== dependencies: bytes "3.1.2" @@ -6281,7 +6289,7 @@ rimraf@^3.0.2: router@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/router/-/router-2.2.0.tgz#019be620b711c87641167cc79b99090f00b146ef" + resolved "https://registry.npmjs.org/router/-/router-2.2.0.tgz#019be620b711c87641167cc79b99090f00b146ef" integrity sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ== dependencies: debug "^4.4.0" @@ -6362,7 +6370,7 @@ semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.7.1: send@^1.1.0, send@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/send/-/send-1.2.0.tgz#32a7554fb777b831dfa828370f773a3808d37212" + resolved "https://registry.npmjs.org/send/-/send-1.2.0.tgz#32a7554fb777b831dfa828370f773a3808d37212" integrity sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw== dependencies: debug "^4.3.5" @@ -6407,7 +6415,7 @@ sequelize@^4.38.0: serve-static@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-2.2.0.tgz#9c02564ee259bdd2251b82d659a2e7e1938d66f9" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz#9c02564ee259bdd2251b82d659a2e7e1938d66f9" integrity sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ== dependencies: encodeurl "^2.0.0" @@ -7020,7 +7028,7 @@ tslib@^2.0.1: tsx@4.19.3: version "4.19.3" - resolved "https://registry.yarnpkg.com/tsx/-/tsx-4.19.3.tgz#2bdbcb87089374d933596f8645615142ed727666" + resolved "https://registry.npmjs.org/tsx/-/tsx-4.19.3.tgz#2bdbcb87089374d933596f8645615142ed727666" integrity sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ== dependencies: esbuild "~0.25.0" @@ -7077,7 +7085,7 @@ type-is@^1.6.4: type-is@^2.0.0, type-is@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-2.0.1.tgz#64f6cf03f92fce4015c2b224793f6bdd4b068c97" + resolved "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz#64f6cf03f92fce4015c2b224793f6bdd4b068c97" integrity sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw== dependencies: content-type "^1.0.5" @@ -7141,7 +7149,7 @@ typedarray@^0.0.6: typescript@5.8.3: version "5.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== uglify-js@^3.1.4: @@ -7219,7 +7227,7 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: uuid@11.1.0: version "11.1.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-11.1.0.tgz#9549028be1753bb934fc96e2bca09bb4105ae912" + resolved "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz#9549028be1753bb934fc96e2bca09bb4105ae912" integrity sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A== uuid@^3.2.1, uuid@^3.3.2: @@ -7258,7 +7266,7 @@ validator@^10.4.0: validator@~13.12.0: version "13.12.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-13.12.0.tgz#7d78e76ba85504da3fee4fd1922b385914d4b35f" + resolved "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz#7d78e76ba85504da3fee4fd1922b385914d4b35f" integrity sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg== vary@^1, vary@^1.1.2: From e5005115f28142a0dc34332e50319bd5a070064f Mon Sep 17 00:00:00 2001 From: Edvaldo Szymonek Date: Sat, 26 Apr 2025 23:08:57 -0300 Subject: [PATCH 05/14] cria e insere paises, estados e cidades --- .../migrations/20250426233006_paises.sql | 274 + .../migrations/20250426233120_estados.sql | 69 + .../migrations/20250426233134_cidades.sql | 5612 +++++++++++++++++ ...bario.sql => 20250426233203_herbarios.sql} | 39 - ...suario.sql => 20250426233223_usuarios.sql} | 0 ...36_tombo.sql => 20250426233236_tombos.sql} | 6 +- 6 files changed, 5958 insertions(+), 42 deletions(-) create mode 100644 src/database/migrations/20250426233006_paises.sql create mode 100644 src/database/migrations/20250426233120_estados.sql create mode 100644 src/database/migrations/20250426233134_cidades.sql rename src/database/migrations/{20250426233203_herbario.sql => 20250426233203_herbarios.sql} (51%) rename src/database/migrations/{20250426233223_usuario.sql => 20250426233223_usuarios.sql} (100%) rename src/database/migrations/{20250426233236_tombo.sql => 20250426233236_tombos.sql} (98%) diff --git a/src/database/migrations/20250426233006_paises.sql b/src/database/migrations/20250426233006_paises.sql new file mode 100644 index 00000000..c71b1388 --- /dev/null +++ b/src/database/migrations/20250426233006_paises.sql @@ -0,0 +1,274 @@ +create table `paises` ( + `id` smallint unsigned not null auto_increment, + `nome` varchar(255) not null, + `sigla` char(4) default null, + primary key (`id`), + index `paises_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +LOCK TABLES `paises` WRITE; + +INSERT INTO `paises` VALUES +(4, 'Afeganistão', 'AFG'), +(8, 'Albânia', 'ALB'), +(10, 'Antártida', 'ATA'), +(12, 'Argélia', 'DZA'), +(16, 'Samoa Americana', 'ASM'), +(20, 'Andorra', 'AND'), +(24, 'Angola', 'AGO'), +(28, 'Antígua e Barbuda', 'ATG'), +(31, 'Azerbaijão', 'AZE'), +(32, 'Argentina', 'ARG'), +(36, 'Austrália', 'AUS'), +(40, 'Áustria', 'AUT'), +(44, 'Bahamas', 'BHS'), +(48, 'Bahrein', 'BHR'), +(50, 'Bangladesh', 'BGD'), +(51, 'Armênia', 'ARM'), +(52, 'Barbados', 'BRB'), +(56, 'Bélgica', 'BEL'), +(60, 'Bermudas', 'BMU'), +(64, 'Butão', 'BTN'), +(68, 'Bolívia', 'BOL'), +(70, 'Bósnia e Herzegovina', 'BIH'), +(72, 'Botsuana', 'BWA'), +(74, 'Ilhas Bouvet', 'BVT'), +(76, 'Brasil', 'BRA'), +(84, 'Belize', 'BLZ'), +(86, 'Território Britânico do Oceano Índico', 'IOT'), +(90, 'Ilhas Salomão', 'SLB'), +(92, 'Ilhas Virgens Britânicas', 'VGB'), +(96, 'Brunei', 'BRN'), +(100, 'Bulgária', 'BGR'), +(104, 'Myanmar', 'MMR'), +(108, 'Burundi', 'BDI'), +(112, 'Bielorrússia', 'BLR'), +(116, 'Camboja', 'KHM'), +(120, 'Camarões', 'CMR'), +(124, 'Canadá', 'CAN'), +(132, 'Cabo Verde', 'CPV'), +(136, 'Ilhas Caiman', 'CYM'), +(140, 'República Centro Africana', 'CAF'), +(144, 'Sri Lanka', 'LKA'), +(148, 'Chade', 'TCD'), +(152, 'Chile', 'CHL'), +(156, 'China', 'CHN'), +(158, 'Republica da China', 'TWN'), +(162, 'Ilhas Natal', 'CXR'), +(166, 'Ilhas Cocos', 'CCK'), +(170, 'Colômbia', 'COL'), +(174, 'Comores', 'COM'), +(175, 'Mayotte', 'MYT'), +(178, 'Congo', 'COG'), +(180, 'República Democrática do Congo', 'COD'), +(184, 'Ilhas Cook', 'COK'), +(188, 'Costa Rica', 'CRI'), +(191, 'Croácia', 'HRV'), +(192, 'Cuba', 'CUB'), +(196, 'Chipre', 'CYP'), +(200, 'Tchecoslováquia', ''), +(203, 'República Tcheca', 'CZE'), +(204, 'Benin', 'BEN'), +(208, 'Dinamarca', 'DNK'), +(212, 'Dominica', 'DMA'), +(214, 'República Dominicana', 'DOM'), +(218, 'Equador', 'ECU'), +(222, 'El Salvador', 'SLV'), +(226, 'Guiné Equatorial', 'GNQ'), +(231, 'Etiópia', 'ETH'), +(232, 'Eritréia', 'ERI'), +(233, 'Estônia', 'EST'), +(234, 'Ilhas Feroe', 'FRO'), +(238, 'Ilhas Malvinas', 'FLK'), +(239, 'Ilhas Geórgia do Sul e Sandwich do Sul', 'SGS'), +(242, 'Fiji', 'FJI'), +(246, 'Finlândia', 'FIN'), +(248, 'Ilhas Åland', 'ALA'), +(250, 'França', 'FRA'), +(254, 'Guiana Francesa', 'GUF'), +(258, 'Polinésia Francesa', 'PYF'), +(260, 'Terras Austrais e Antárticas Francesas', 'ATF'), +(262, 'Djibuti', 'DJI'), +(266, 'Gabão', 'GAB'), +(268, 'Geórgia', 'GEO'), +(270, 'Gâmbia', 'GMB'), +(275, 'Palestina', 'PSE'), +(276, 'Alemanha', 'DEU'), +(288, 'Gana', 'GHA'), +(292, 'Gibraltar', 'GIB'), +(296, 'Quiribati', 'KIR'), +(300, 'Grécia', 'GRC'), +(304, 'Groenlândia', 'GRL'), +(308, 'Granada', 'GRD'), +(312, 'Guadalupe', 'GLP'), +(316, 'Guam', 'GUM'), +(320, 'Guatemala', 'GTM'), +(324, 'Guiné', 'GIN'), +(328, 'Guiana', 'GUY'), +(332, 'Haiti', 'HTI'), +(334, 'Ilha Heard e Ilhas Mcdonald', 'HMD'), +(336, 'Vaticano', 'VAT'), +(339, 'Apátrida1', 'AAA'), +(340, 'Honduras', 'HND'), +(344, 'Hong Kong', 'HKG'), +(348, 'Hungria', 'HUN'), +(352, 'Islândia', 'ISL'), +(356, 'Índia', 'IND'), +(360, 'Indonésia', 'IDN'), +(364, 'Irã', 'IRN'), +(368, 'Iraque', 'IRQ'), +(372, 'Irlanda', 'IRL'), +(376, 'Israel', 'ISR'), +(380, 'Itália', 'ITA'), +(384, 'Costa do Marfim', 'CIV'), +(388, 'Jamaica', 'JAM'), +(392, 'Japão', 'JPN'), +(398, 'Cazaquistão', 'KAZ'), +(400, 'Jordânia', 'JOR'), +(404, 'Quênia', 'KEN'), +(408, 'Coreia do Norte', 'PRK'), +(410, 'Coreia do Sul', 'KOR'), +(414, 'Kuwait', 'KWT'), +(417, 'Quirguistão', 'KGZ'), +(418, 'Laos', 'LAO'), +(422, 'Líbano', 'LBN'), +(426, 'Lesoto', 'LSO'), +(428, 'Letônia', 'LVA'), +(430, 'Libéria', 'LBR'), +(434, 'Líbia', 'LBY'), +(438, 'Liechtenstein', 'LIE'), +(440, 'Lituânia', 'LTU'), +(442, 'Luxemburgo', 'LUX'), +(446, 'Macau', 'MAC'), +(450, 'Madagáscar', 'MDG'), +(454, 'Malawi', 'MWI'), +(458, 'Malásia', 'MYS'), +(462, 'Maldivas', 'MDV'), +(466, 'Mali', 'MLI'), +(470, 'Malta', 'MLT'), +(474, 'Martinica', 'MTQ'), +(478, 'Mauritânia', 'MRT'), +(480, 'Maurício', 'MUS'), +(484, 'México', 'MEX'), +(492, 'Mônaco', 'MCO'), +(496, 'Mongólia', 'MNG'), +(498, 'Moldávia', 'MDA'), +(499, 'Montenegro', 'MNE'), +(500, 'Montserrat', 'MSR'), +(504, 'Marrocos', 'MAR'), +(508, 'Moçambique', 'MOZ'), +(512, 'Oman', 'OMN'), +(516, 'Namíbia', 'NAM'), +(520, 'Nauru', 'NRU'), +(524, 'Nepal', 'NPL'), +(528, 'Holanda', 'NLD'), +(530, 'Antilhas Holandesas', 'ANT'), +(531, 'Curaçao', 'CUW'), +(533, 'Aruba', 'ABW'), +(534, 'Sint Maarten', 'SXM'), +(535, 'Bonaire, Saint Eustatius e Saba', 'BES'), +(540, 'Nova Caledônia', 'NCL'), +(548, 'Vanuatu', 'VUT'), +(554, 'Nova Zelândia', 'NZL'), +(558, 'Nicarágua', 'NIC'), +(562, 'Níger', 'NER'), +(566, 'Nigéria', 'NGA'), +(570, 'Niue', 'NIU'), +(574, 'Ilha Norfolk', 'NFK'), +(578, 'Noruega', 'NOR'), +(580, 'Ilhas Mariana', 'MNP'), +(581, 'Ilhas Menores Distantes dos Estados Unidos', 'UMI'), +(582, 'Ilhas do Pacífico', ''), +(583, 'Micronesia', 'FSM'), +(584, 'Ilhas Marshall', 'MHL'), +(585, 'Palau', 'PLW'), +(586, 'Paquistão', 'PAK'), +(591, 'Panamá', 'PAN'), +(598, 'Papua Nova Guiné', 'PNG'), +(600, 'Paraguai', 'PRY'), +(604, 'Peru', 'PER'), +(608, 'Filipinas', 'PHL'), +(612, 'Pitcairin', 'PCN'), +(616, 'Polônia', 'POL'), +(620, 'Portugal', 'PRT'), +(624, 'Guiné Bissau', 'GNB'), +(626, 'Timor Leste', 'TLS'), +(630, 'Porto Rico', 'PRI'), +(634, 'Catar', 'QAT'), +(638, 'Reunião', 'REU'), +(642, 'Romênia', 'ROU'), +(643, 'Rússia', 'RUS'), +(646, 'Ruanda', 'RWA'), +(652, 'São Bartolomeu', 'BLM'), +(654, 'Santa Helena', 'SHN'), +(659, 'São Cristovão e Nevis', 'KNA'), +(660, 'Anguilla', 'AIA'), +(662, 'Santa Lúcia', 'LCA'), +(663, 'Saint-Martin', 'MAF'), +(666, 'Saint Pierre e Miquelon', 'SPM'), +(670, 'São Vicente e Granadinas', 'VCT'), +(674, 'San Marino', 'SMR'), +(678, 'São Tomé e Príncipe', 'STP'), +(680, 'Sark', ''), +(682, 'Arábia Saudita', 'SAU'), +(686, 'Senegal', 'SEN'), +(688, 'Sérvia', 'SRB'), +(690, 'Seychelles', 'SYC'), +(694, 'Serra Leoa', 'SLE'), +(702, 'Cingapura', 'SGP'), +(703, 'Eslováquia', 'SVK'), +(704, 'Vietnã', 'VNM'), +(705, 'Eslovênia', 'SVN'), +(706, 'Somália', 'SOM'), +(710, 'África do Sul', 'ZAF'), +(716, 'Zimbábue', 'ZWE'), +(724, 'Espanha', 'ESP'), +(728, 'Sudão do Sul', 'SSD'), +(729, 'Sudão', 'SDN'), +(732, 'Saara Ocidental', 'ESH'), +(736, 'Sudão', ''), +(740, 'Suriname', 'SUR'), +(744, 'Svalbard e Jan Mayer', 'SJM'), +(748, 'Suazilândia', 'SWZ'), +(752, 'Suécia', 'SWE'), +(756, 'Suíça', 'CHE'), +(760, 'Síria', 'SYR'), +(762, 'Tajiquistão', 'TJK'), +(764, 'Tailândia', 'THA'), +(768, 'Togo', 'TGO'), +(772, 'Tokelau', 'TKL'), +(776, 'Tonga', 'TON'), +(780, 'Trindade e Tobago', 'TTO'), +(784, 'Emirados Árabes Unidos', 'ARE'), +(788, 'Tunísia', 'TUN'), +(792, 'Turquia', 'TUR'), +(795, 'Turquemenistão', 'TKM'), +(796, 'Ilhas Turks e Caicos', 'TCA'), +(798, 'Tuvalu', 'TUV'), +(800, 'Uganda', 'UGA'), +(804, 'Ucrânia', 'UKR'), +(807, 'República da Macedônia', 'MKD'), +(810, 'União Soviética', ''), +(818, 'Egito', 'EGY'), +(826, 'Reino Unido da Grã Bretanha e Irlanda do Norte', 'GBR'), +(830, 'Ilhas do Canal', ''), +(831, 'Guernsey', 'GGY'), +(832, 'Jersey', 'JEY'), +(833, 'Ilhas de Man', 'IMN'), +(834, 'Tanzânia', 'TZA'), +(840, 'Estados Unidos da América', 'USA'), +(850, 'Ilhas Virgens Americanas', 'VIR'), +(854, 'Burquina Faso', 'BFA'), +(858, 'Uruguai', 'URY'), +(860, 'Uzbequistão', 'UZB'), +(862, 'Venezuela', 'VEN'), +(876, 'Ilhas Wallis e Futuna', 'WLF'), +(882, 'Samoa', 'WSM'), +(887, 'Iémen', 'YEM'), +(890, 'Iugoslávia', ''), +(894, 'Zâmbia', 'ZMB'), +(900, 'Coréia do Norte/Coréia do Sul', ''), +(999, 'Outra Nacionalidade', 'OOO'); + +UNLOCK TABLES; diff --git a/src/database/migrations/20250426233120_estados.sql b/src/database/migrations/20250426233120_estados.sql new file mode 100644 index 00000000..fce914be --- /dev/null +++ b/src/database/migrations/20250426233120_estados.sql @@ -0,0 +1,69 @@ +create table `estados` ( + `id` int unsigned not null auto_increment, + `nome` varchar(255) not null, + `sigla` char(4) default null, + `codigo_telefone` varchar(10) default null, + `pais_id` smallint unsigned not null, + primary key (`id`), + constraint `estados_paises_fk` foreign key (`pais_id`) references `paises` (`id`), + index `estados_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +LOCK TABLES `estados` WRITE; + +INSERT INTO `estados` VALUES +(11, 'Rondônia', 'RO', NULL, 76), +(12, 'Acre', 'AC', NULL, 76), +(13, 'Amazonas', 'AM', NULL, 76), +(14, 'Roraima', 'RR', NULL, 76), +(15, 'Pará', 'PA', NULL, 76), +(16, 'Amapá', 'AP', NULL, 76), +(17, 'Tocantins', 'TO', NULL, 76), +(21, 'Maranhão', 'MA', NULL, 76), +(22, 'Piauí', 'PI', NULL, 76), +(23, 'Ceará', 'CE', NULL, 76), +(24, 'Rio Grande do Norte', 'RN', NULL, 76), +(25, 'Paraíba', 'PB', NULL, 76), +(26, 'Pernambuco', 'PE', NULL, 76), +(27, 'Alagoas', 'AL', NULL, 76), +(28, 'Sergipe', 'SE', NULL, 76), +(29, 'Bahia', 'BA', NULL, 76), +(31, 'Minas Gerais', 'MG', NULL, 76), +(32, 'Espírito Santo', 'ES', NULL, 76), +(33, 'Rio de Janeiro', 'RJ', NULL, 76), +(35, 'São Paulo', 'SP', NULL, 76), +(41, 'Paraná', 'PR', NULL, 76), +(42, 'Santa Catarina', 'SC', NULL, 76), +(43, 'Rio Grande do Sul', 'RS', NULL, 76), +(50, 'Mato Grosso do Sul', 'MS', NULL, 76), +(51, 'Mato Grosso', 'MT', NULL, 76), +(52, 'Goiás', 'GO', NULL, 76), +(53, 'Distrito Federal', 'DF', NULL, 76), +(54, 'Não Informado', 'NI', NULL, 32), +(55, 'Não Informado', 'NI', NULL, 36), +(56, 'Não Informado', 'NI', NULL, 40), +(57, 'Não Informado', 'NI', NULL, 68), +(58, 'Não Informado', 'NI', NULL, 152), +(59, 'Não Informado', 'NI', NULL, 156), +(60, 'Não Informado', 'NI', NULL, 188), +(61, 'Não Informado', 'NI', NULL, 196), +(62, 'Não Informado', 'NI', NULL, 226), +(63, 'Não Informado', 'NI', NULL, 250), +(64, 'Não Informado', 'NI', NULL, 276), +(65, 'Não Informado', 'NI', NULL, 380), +(66, 'Não Informado', 'NI', NULL, 392), +(67, 'Não Informado', 'NI', NULL, 484), +(68, 'Não Informado', 'NI', NULL, 504), +(69, 'Não Informado', 'NI', NULL, 554), +(70, 'Não Informado', 'NI', NULL, 600), +(71, 'Não Informado', 'NI', NULL, 604), +(72, 'Não Informado', 'NI', NULL, 620), +(73, 'Não Informado', 'NI', NULL, 643), +(74, 'Não Informado', 'NI', NULL, 724), +(75, 'Não Informado', 'NI', NULL, 756), +(76, 'Não Informado', 'NI', NULL, 840), +(77, 'Não Informado', 'NI', NULL, 858), +(78, 'Não Informado', 'NI', NULL, 862); + +UNLOCK TABLES; diff --git a/src/database/migrations/20250426233134_cidades.sql b/src/database/migrations/20250426233134_cidades.sql new file mode 100644 index 00000000..1b0840a6 --- /dev/null +++ b/src/database/migrations/20250426233134_cidades.sql @@ -0,0 +1,5612 @@ +create table `cidades` ( + `id` int unsigned not null auto_increment, + `estado_id` int unsigned not null, + `nome` varchar(255) not null, + `latitude` decimal(10, 7) default null, + `longitude` decimal(10, 7) default null, + primary key (`id`), + constraint `cidades_estados_fk` foreign key (`estado_id`) references `estados` (`id`), + index `cidades_nome_idx` (`nome`) +) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + + +LOCK TABLES `cidades` WRITE; + +INSERT INTO `cidades` VALUES +(1100015, 11, "Alta Floresta D'Oeste", -11.9283000, -61.9953000), +(1100023, 11, 'Ariquemes', -9.9133000, -63.0408000), +(1100031, 11, 'Cabixi', -13.4945000, -60.5520000), +(1100049, 11, 'Cacoal', -11.4343000, -61.4562000), +(1100056, 11, 'Cerejeiras', -13.1870000, -60.8168000), +(1100064, 11, 'Colorado do Oeste', -13.1174000, -60.5454000), +(1100072, 11, 'Corumbiara', -12.9551000, -60.8947000), +(1100080, 11, 'Costa Marques', -12.4367000, -64.2280000), +(1100098, 11, "Espigão D'Oeste", -11.5266000, -61.0252000), +(1100106, 11, 'Guajará-Mirim', -10.7889000, -65.3296000), +(1100114, 11, 'Jaru', -10.4318000, -62.4788000), +(1100122, 11, 'Ji-Paraná', -10.8777000, -61.9322000), +(1100130, 11, "Machadinho D'Oeste", -94.4363000, -61.9818000), +(1100148, 11, "Nova Brasilândia D'Oeste", -11.7247000, -62.3127000), +(1100155, 11, 'Ouro Preto do Oeste', -10.7167000, -62.2565000), +(1100189, 11, 'Pimenta Bueno', -11.6720000, -61.1980000), +(1100205, 11, 'Porto Velho', -87.6077000, -63.8999000), +(1100254, 11, 'Presidente Médici', -11.1690000, -61.8986000), +(1100262, 11, 'Rio Crespo', -96.9965000, -62.9011000), +(1100288, 11, 'Rolim de Moura', -11.7271000, -61.7714000), +(1100296, 11, "Santa Luzia D'Oeste", -11.9074000, -61.7777000), +(1100304, 11, 'Vilhena', -12.7502000, -60.1488000), +(1100320, 11, 'São Miguel do Guaporé', -11.6953000, -62.7192000), +(1100338, 11, 'Nova Mamoré', -10.4077000, -65.3346000), +(1100346, 11, "Alvorada D'Oeste", -11.3463000, -62.2847000), +(1100379, 11, 'Alto Alegre dos Parecis', -12.1320000, -61.8350000), +(1100403, 11, 'Alto Paraíso', -97.1429000, -63.3188000), +(1100452, 11, 'Buritis', -10.1943000, -63.8324000), +(1100502, 11, 'Novo Horizonte do Oeste', -11.6961000, -61.9951000), +(1100601, 11, 'Cacaulândia', -10.3490000, -62.9043000), +(1100700, 11, 'Campo Novo de Rondônia', -10.5712000, -63.6266000), +(1100809, 11, 'Candeias do Jamari', -87.9070000, -63.7005000), +(1100908, 11, 'Castanheiras', -11.4253000, -61.9482000), +(1100924, 11, 'Chupinguaia', -12.5611000, -60.8877000), +(1100940, 11, 'Cujubim', -93.6065000, -62.5846000), +(1101005, 11, 'Governador Jorge Teixeira', -10.6100000, -62.7371000), +(1101104, 11, 'Itapuã do Oeste', -91.9687000, -63.1809000), +(1101203, 11, 'Ministro Andreazza', -11.1960000, -61.5174000), +(1101302, 11, 'Mirante da Serra', -11.0290000, -62.6696000), +(1101401, 11, 'Monte Negro', -10.2458000, -63.2900000), +(1101435, 11, 'Nova União', -10.9068000, -62.5564000), +(1101450, 11, 'Parecis', -12.1754000, -61.6032000), +(1101468, 11, 'Pimenteiras do Oeste', -13.4823000, -61.0471000), +(1101476, 11, 'Primavera de Rondônia', -11.8295000, -61.3153000), +(1101484, 11, "São Felipe D'Oeste", -11.9023000, -61.5026000), +(1101492, 11, 'São Francisco do Guaporé', -12.0520000, -63.5680000), +(1101500, 11, 'Seringueiras', -11.8055000, -63.0182000), +(1101559, 11, 'Teixeirópolis', -10.9056000, -62.2420000), +(1101609, 11, 'Theobroma', -10.2483000, -62.3538000), +(1101708, 11, 'Urupá', -11.1261000, -62.3639000), +(1101757, 11, 'Vale do Anari', -98.6215000, -62.1876000), +(1101807, 11, 'Vale do Paraíso', -10.4465000, -62.1352000), +(1200013, 12, 'Acrelândia', -98.2581000, -66.8972000), +(1200054, 12, 'Assis Brasil', -10.9298000, -69.5738000), +(1200104, 12, 'Brasiléia', -10.9950000, -68.7497000), +(1200138, 12, 'Bujari', -98.1528000, -67.9550000), +(1200179, 12, 'Capixaba', -10.5660000, -67.6860000), +(1200203, 12, 'Cruzeiro do Sul', -76.2762000, -72.6756000), +(1200252, 12, 'Epitaciolândia', -11.0188000, -68.7341000), +(1200302, 12, 'Feijó', -81.7054000, -70.3510000), +(1200328, 12, 'Jordão', -94.3091000, -71.8974000), +(1200336, 12, 'Mâncio Lima', -76.1657000, -72.8997000), +(1200344, 12, 'Manoel Urbano', -88.3291000, -69.2679000), +(1200351, 12, 'Marechal Thaumaturgo', -89.3898000, -72.7997000), +(1200385, 12, 'Plácido de Castro', -10.2806000, -67.1371000), +(1200393, 12, 'Porto Walter', -82.6323000, -72.7537000), +(1200401, 12, 'Rio Branco', -99.7499000, -67.8243000), +(1200427, 12, 'Rodrigues Alves', -77.3864000, -72.6610000), +(1200435, 12, 'Santa Rosa do Purus', -94.4652000, -70.4902000), +(1200450, 12, 'Senador Guiomard', -10.1497000, -67.7362000), +(1200500, 12, 'Sena Madureira', -90.6596000, -68.6571000), +(1200609, 12, 'Tarauacá', -81.5697000, -70.7722000), +(1200708, 12, 'Xapuri', -10.6516000, -68.4969000), +(1200807, 12, 'Porto Acre', -95.8138000, -67.5478000), +(1300029, 13, 'Alvarães', -32.2727000, -64.8007000), +(1300060, 13, 'Amaturá', -33.7455000, -68.2005000), +(1300086, 13, 'Anamã', -35.6697000, -61.3963000), +(1300102, 13, 'Anori', -37.4603000, -61.6575000), +(1300144, 13, 'Apuí', -71.9409000, -59.8960000), +(1300201, 13, 'Atalaia do Norte', -43.7055000, -70.1967000), +(1300300, 13, 'Autazes', -35.8574000, -59.1256000), +(1300409, 13, 'Barcelos', -98.3373000, -62.9311000), +(1300508, 13, 'Barreirinha', -27.9886000, -57.0679000), +(1300607, 13, 'Benjamin Constant', -43.7768000, -70.0342000), +(1300631, 13, 'Beruri', -38.9874000, -61.3616000), +(1300680, 13, 'Boa Vista do Ramos', -29.7409000, -57.5873000), +(1300706, 13, 'Boca do Acre', -87.4232000, -67.3919000), +(1300805, 13, 'Borba', -43.9154000, -59.5874000), +(1300839, 13, 'Caapiranga', -33.1537000, -61.2206000), +(1300904, 13, 'Canutama', -65.2582000, -64.3953000), +(1301001, 13, 'Carauari', -48.8161000, -66.9086000), +(1301100, 13, 'Careiro', -37.6803000, -60.3690000), +(1301159, 13, 'Careiro da Várzea', -33.1400000, -59.5557000), +(1301209, 13, 'Coari', -40.9412000, -63.1441000), +(1301308, 13, 'Codajás', -38.3053000, -62.0658000), +(1301407, 13, 'Eirunepé', -66.5677000, -69.8662000), +(1301506, 13, 'Envira', -74.3789000, -70.0281000), +(1301605, 13, 'Fonte Boa', -25.2342000, -66.0942000), +(1301654, 13, 'Guajará', -75.3797000, -72.5907000), +(1301704, 13, 'Humaitá', -75.1171000, -63.0327000), +(1301803, 13, 'Ipixuna', -70.4791000, -71.6934000), +(1301852, 13, 'Iranduba', -32.7479000, -60.1900000), +(1301902, 13, 'Itacoatiara', -31.3861000, -58.4449000), +(1301951, 13, 'Itamarati', -64.3852000, -68.2437000), +(1302009, 13, 'Itapiranga', -27.4081000, -58.0293000), +(1302108, 13, 'Japurá', -18.8237000, -66.9291000), +(1302207, 13, 'Juruá', -34.8438000, -66.0718000), +(1302306, 13, 'Jutaí', -27.5814000, -66.7595000), +(1302405, 13, 'Lábrea', -7.2641300, -64.7948000), +(1302504, 13, 'Manacapuru', -32.9066000, -60.6216000), +(1302553, 13, 'Manaquiri', -34.4078000, -60.4612000), +(1302603, 13, 'Manaus', -31.1866000, -60.0212000), +(1302702, 13, 'Manicoré', -58.0462000, -61.2895000), +(1302801, 13, 'Maraã', -18.5313000, -65.5730000), +(1302900, 13, 'Maués', -33.9289000, -57.7067000), +(1303007, 13, 'Nhamundá', -22.0793000, -56.7112000), +(1303106, 13, 'Nova Olinda do Norte', -39.0037000, -59.0940000), +(1303205, 13, 'Novo Airão', -26.3637000, -60.9434000), +(1303304, 13, 'Novo Aripuanã', -51.2593000, -60.3732000), +(1303403, 13, 'Parintins', -26.3741000, -56.7290000), +(1303502, 13, 'Pauini', -77.1311000, -66.9920000), +(1303536, 13, 'Presidente Figueiredo', -20.2981000, -60.0234000), +(1303569, 13, 'Rio Preto da Eva', -27.0450000, -59.6858000), +(1303601, 13, 'Santa Isabel do Rio Negro', -0.4108240, -65.0092000), +(1303700, 13, 'Santo Antônio do Içá', -30.9544000, -67.9463000), +(1303809, 13, 'São Gabriel da Cachoeira', -11.9090000, -67.0840000), +(1303908, 13, 'São Paulo de Olivença', -34.7292000, -68.9646000), +(1303957, 13, 'São Sebastião do Uatumã', -25.5915000, -57.8731000), +(1304005, 13, 'Silves', -28.1748000, -58.2480000), +(1304062, 13, 'Tabatinga', -42.4160000, -69.9383000), +(1304104, 13, 'Tapauá', -56.2085000, -63.1808000), +(1304203, 13, 'Tefé', -3.3682200, -64.7193000), +(1304237, 13, 'Tonantins', -28.6582000, -67.7919000), +(1304260, 13, 'Uarini', -29.9609000, -65.1133000), +(1304302, 13, 'Urucará', -25.2936000, -57.7538000), +(1304401, 13, 'Urucurituba', -31.2841000, -58.1496000), +(1400027, 14, 'Amajari', 3.6457100, -61.3692000), +(1400050, 14, 'Alto Alegre', 29.8858000, -61.3072000), +(1400100, 14, 'Boa Vista', 28.2384000, -60.6753000), +(1400159, 14, 'Bonfim', 33.6161000, -59.8333000), +(1400175, 14, 'Cantá', 26.0994000, -60.6058000), +(1400209, 14, 'Caracaraí', 18.2766000, -61.1304000), +(1400233, 14, 'Caroebe', 88.4203000, -59.6959000), +(1400282, 14, 'Iracema', 21.8305000, -61.0415000), +(1400308, 14, 'Mucajaí', 24.3998000, -60.9096000), +(1400407, 14, 'Normandia', 38.8530000, -59.6204000), +(1400456, 14, 'Pacaraima', 44.7990000, -61.1477000), +(1400472, 14, 'Rorainópolis', 93.9956000, -60.4389000), +(1400506, 14, 'São João da Baliza', 95.1659000, -59.9133000), +(1400605, 14, 'São Luiz', 10.1019000, -60.0419000), +(1400704, 14, 'Uiramutã', 46.0314000, -60.1815000), +(1500107, 15, 'Abaetetuba', -17.2183000, -48.8788000), +(1500131, 15, 'Abel Figueiredo', -49.5333000, -48.3933000), +(1500206, 15, 'Acará', -19.5383000, -48.1985000), +(1500305, 15, 'Afuá', -15.4874000, -50.3861000), +(1500347, 15, 'Água Azul do Norte', -67.9053000, -50.4791000), +(1500404, 15, 'Alenquer', -19.4623000, -54.7384000), +(1500503, 15, 'Almeirim', -15.2904000, -52.5788000), +(1500602, 15, 'Altamira', -32.0407000, -52.2100000), +(1500701, 15, 'Anajás', -99.6811000, -49.9354000), +(1500800, 15, 'Ananindeua', -13.6391000, -48.3743000), +(1500859, 15, 'Anapu', -3.4698500, -51.2003000), +(1500909, 15, 'Augusto Corrêa', -10.5109000, -46.6147000), +(1500958, 15, 'Aurora do Pará', -21.4898000, -47.5677000), +(1501006, 15, 'Aveiro', -36.0841000, -55.3199000), +(1501105, 15, 'Bagre', -19.0057000, -50.1987000), +(1501204, 15, 'Baião', -27.9021000, -49.6694000), +(1501253, 15, 'Bannach', -73.4779000, -50.3959000), +(1501303, 15, 'Barcarena', -15.1187000, -48.6195000), +(1501402, 15, 'Belém', -14.5540000, -48.4898000), +(1501451, 15, 'Belterra', -26.3609000, -54.9374000), +(1501501, 15, 'Benevides', -13.6183000, -48.2434000), +(1501576, 15, 'Bom Jesus do Tocantins', -50.4240000, -48.6047000), +(1501600, 15, 'Bonito', -13.6745000, -47.3066000), +(1501709, 15, 'Bragança', -10.6126000, -46.7826000), +(1501725, 15, 'Brasil Novo', -3.2979200, -52.5340000), +(1501758, 15, 'Brejo Grande do Araguaia', -56.9822000, -48.4103000), +(1501782, 15, 'Breu Branco', -37.7191000, -49.5735000), +(1501808, 15, 'Breves', -16.8036000, -50.4791000), +(1501907, 15, 'Bujaru', -15.1762000, -48.0381000), +(1501956, 15, 'Cachoeira do Piriá', -17.5974000, -46.5459000), +(1502004, 15, 'Cachoeira do Arari', -10.1226000, -48.9503000), +(1502103, 15, 'Cametá', -22.4295000, -49.4979000), +(1502152, 15, 'Canaã dos Carajás', -64.9659000, -49.8776000), +(1502202, 15, 'Capanema', -12.0529000, -47.1778000), +(1502301, 15, 'Capitão Poço', -17.4785000, -47.0629000), +(1502400, 15, 'Castanhal', -12.9797000, -47.9167000), +(1502509, 15, 'Chaves', -16.4154000, -49.9870000), +(1502608, 15, 'Colares', -93.6423000, -48.2803000), +(1502707, 15, 'Conceição do Araguaia', -82.6136000, -49.2689000), +(1502756, 15, 'Concórdia do Pará', -19.9238000, -47.9422000), +(1502764, 15, 'Cumaru do Norte', -78.1097000, -50.7698000), +(1502772, 15, 'Curionópolis', -60.9965000, -49.6068000), +(1502806, 15, 'Curralinho', -18.1179000, -49.7952000), +(1502855, 15, 'Curuá', -18.8775000, -55.1168000), +(1502905, 15, 'Curuçá', -73.3214000, -47.8515000), +(1502939, 15, 'Dom Eliseu', -41.9944000, -47.8245000), +(1502954, 15, 'Eldorado do Carajás', -61.0389000, -49.3553000), +(1503002, 15, 'Faro', -21.6805000, -56.7405000), +(1503044, 15, 'Floresta do Araguaia', -75.5335000, -49.7125000), +(1503077, 15, 'Garrafão do Norte', -19.2986000, -47.0505000), +(1503093, 15, 'Goianésia do Pará', -38.4338000, -49.0974000), +(1503101, 15, 'Gurupá', -14.1412000, -51.6338000), +(1503200, 15, 'Igarapé-Açu', -11.2539000, -47.6260000), +(1503309, 15, 'Igarapé-Miri', -19.7533000, -48.9575000), +(1503408, 15, 'Inhangapi', -14.3490000, -47.9114000), +(1503457, 15, 'Ipixuna do Pará', -25.5992000, -47.5059000), +(1503507, 15, 'Irituia', -17.6984000, -47.4460000), +(1503606, 15, 'Itaituba', -42.6670000, -55.9926000), +(1503705, 15, 'Itupiranga', -51.3272000, -49.3358000), +(1503754, 15, 'Jacareacanga', -62.1469000, -57.7544000), +(1503804, 15, 'Jacundá', -44.4617000, -49.1153000), +(1503903, 15, 'Juruti', -21.6347000, -56.0889000), +(1504000, 15, 'Limoeiro do Ajuru', -18.9850000, -49.3903000), +(1504059, 15, 'Mãe do Rio', -20.5683000, -47.5601000), +(1504109, 15, 'Magalhães Barata', -80.3391000, -47.6014000), +(1504208, 15, 'Marabá', -53.8075000, -49.1327000), +(1504307, 15, 'Maracanã', -77.8899000, -47.4520000), +(1504406, 15, 'Marapanim', -71.4702000, -47.7034000), +(1504422, 15, 'Marituba', -13.6002000, -48.3421000), +(1504455, 15, 'Medicilândia', -34.4637000, -52.8875000), +(1504505, 15, 'Melgaço', -18.0320000, -50.7149000), +(1504604, 15, 'Mocajuba', -25.8310000, -49.5042000), +(1504703, 15, 'Moju', -18.8993000, -48.7668000), +(1504752, 15, 'Mojuí dos Campos', -26.8220000, -54.6425000), +(1504802, 15, 'Monte Alegre', -19.9768000, -54.0724000), +(1504901, 15, 'Muaná', -15.3936000, -49.2224000), +(1504950, 15, 'Nova Esperança do Piriá', -22.6693000, -46.9731000), +(1504976, 15, 'Nova Ipixuna', -49.1622000, -49.0822000), +(1505007, 15, 'Nova Timboteua', -12.0874000, -47.3921000), +(1505031, 15, 'Novo Progresso', -71.4347000, -55.3786000), +(1505064, 15, 'Novo Repartimento', -4.2474900, -49.9499000), +(1505106, 15, 'Óbidos', -19.0107000, -55.5208000), +(1505205, 15, 'Oeiras do Pará', -20.0358000, -49.8628000), +(1505304, 15, 'Oriximiná', -17.5989000, -55.8579000), +(1505403, 15, 'Ourém', -15.4168000, -47.1126000), +(1505437, 15, 'Ourilândia do Norte', -67.5290000, -51.0858000), +(1505486, 15, 'Pacajá', -38.3542000, -50.6399000), +(1505494, 15, 'Palestina do Pará', -57.4027000, -48.3181000), +(1505502, 15, 'Paragominas', -30.0212000, -47.3527000), +(1505536, 15, 'Parauapebas', -6.1855800, -50.5547400), +(1505551, 15, "Pau d'Arco", -15.9772000, -46.9268000), +(1505601, 15, 'Peixe-Boi', -11.9382000, -47.3240000), +(1505635, 15, 'Piçarra', -64.3778000, -48.8716000), +(1505650, 15, 'Placas', -38.6813000, -54.2124000), +(1505700, 15, 'Ponta de Pedras', -13.9587000, -48.8661000), +(1505809, 15, 'Portel', -19.3639000, -50.8194000), +(1505908, 15, 'Porto de Moz', -17.4691000, -52.2361000), +(1506005, 15, 'Prainha', -17.9800000, -53.4779000), +(1506104, 15, 'Primavera', -94.5439000, -47.1253000), +(1506112, 15, 'Quatipuru', -89.9604000, -47.0134000), +(1506138, 15, 'Redenção', -80.2529000, -50.0317000), +(1506161, 15, 'Rio Maria', -73.1236000, -50.0379000), +(1506187, 15, 'Rondon do Pará', -47.7793000, -48.0670000), +(1506195, 15, 'Rurópolis', -41.0028000, -54.9092000), +(1506203, 15, 'Salinópolis', -0.6136100, -47.3561100), +(1506302, 15, 'Salvaterra', -75.8444000, -48.5139000), +(1506351, 15, 'Santa Bárbara do Pará', -11.9219000, -48.2380000), +(1506401, 15, 'Santa Cruz do Arari', -66.1019000, -49.1771000), +(1506500, 15, 'Santa Izabel do Pará', -12.9686000, -48.1606000), +(1506559, 15, 'Santa Luzia do Pará', -15.2147000, -46.9008000), +(1506583, 15, 'Santa Maria das Barreiras', -88.5784000, -49.7215000), +(1506609, 15, 'Santa Maria do Pará', -13.5392000, -47.5712000), +(1506708, 15, 'Santana do Araguaia', -93.2810000, -50.3500000), +(1506807, 15, 'Santarém', -24.3849000, -54.6996000), +(1506906, 15, 'Santarém Novo', -93.0970000, -47.3855000), +(1507003, 15, 'Santo Antônio do Tauá', -11.5220000, -48.1314000), +(1507102, 15, 'São Caetano de Odivelas', -74.7293000, -48.0246000), +(1507151, 15, 'São Domingos do Araguaia', -55.3732000, -48.7366000), +(1507201, 15, 'São Domingos do Capim', -16.8768000, -47.7665000), +(1507300, 15, 'São Félix do Xingu', -66.4254000, -51.9904000), +(1507409, 15, 'São Francisco do Pará', -11.6963000, -47.7917000), +(1507458, 15, 'São Geraldo do Araguaia', -63.9471000, -48.5592000), +(1507466, 15, 'São João da Ponta', -85.7885000, -47.9180000), +(1507474, 15, 'São João de Pirabas', -78.0222000, -47.1810000), +(1507508, 15, 'São João do Araguaia', -53.6334000, -48.7926000), +(1507607, 15, 'São Miguel do Guamá', -16.1307000, -47.4784000), +(1507706, 15, 'São Sebastião da Boa Vista', -17.1597000, -49.5249000), +(1507755, 15, 'Sapucaia', -6.9401800, -49.6834000), +(1507805, 15, 'Senador José Porfírio', -43.1242000, -51.5764000), +(1507904, 15, 'Soure', -73.0320000, -48.5015000), +(1507953, 15, 'Tailândia', -29.4584000, -48.9489000), +(1507961, 15, 'Terra Alta', -10.2963000, -47.9004000), +(1507979, 15, 'Terra Santa', -21.0443000, -56.4877000), +(1508001, 15, 'Tomé-Açu', -24.1302000, -48.1415000), +(1508035, 15, 'Tracuateua', -10.7653000, -46.9031000), +(1508050, 15, 'Trairão', -45.7347000, -55.9429000), +(1508084, 15, 'Tucumã', -67.4687000, -51.1626000), +(1508100, 15, 'Tucuruí', -37.6570000, -49.6773000), +(1508126, 15, 'Ulianópolis', -37.5007000, -47.4892000), +(1508159, 15, 'Uruará', -37.1519000, -53.7396000), +(1508209, 15, 'Vigia', -86.1194000, -48.1386000), +(1508308, 15, 'Viseu', -11.9124000, -46.1399000), +(1508357, 15, 'Vitória do Xingu', -28.7922000, -52.0088000), +(1508407, 15, 'Xinguara', -70.9830000, -49.9437000), +(1600055, 16, 'Serra do Navio', 90.1357000, -52.0036000), +(1600105, 16, 'Amapá', 20.5267000, -50.7957000), +(1600154, 16, 'Pedra Branca do Amapari', 77.7424000, -51.9503000), +(1600204, 16, 'Calçoene', 25.0475000, -50.9512000), +(1600212, 16, 'Cutias', 97.0761000, -50.8005000), +(1600238, 16, 'Ferreira Gomes', 85.7256000, -51.1795000), +(1600253, 16, 'Itaubal', 60.2185000, -50.6996000), +(1600279, 16, 'Laranjal do Jari', -80.4911000, -52.4530000), +(1600303, 16, 'Macapá', 34.9340000, -51.0694000), +(1600402, 16, 'Mazagão', -11.3360000, -51.2891000), +(1600501, 16, 'Oiapoque', 38.4074000, -51.8331000), +(1600535, 16, 'Porto Grande', 71.2430000, -51.4155000), +(1600550, 16, 'Pracuúba', 17.4543000, -50.7892000), +(1600600, 16, 'Santana', -45.4340000, -51.1729000), +(1600709, 16, 'Tartarugalzinho', 15.0652000, -50.9087000), +(1600808, 16, 'Vitória do Jari', -93.8000000, -52.4240000), +(1700251, 17, 'Abreulândia', -96.2101000, -49.1518000), +(1700301, 17, 'Aguiarnópolis', -65.5409000, -47.4702000), +(1700350, 17, 'Aliança do Tocantins', -11.3056000, -48.9361000), +(1700400, 17, 'Almas', -11.5706000, -47.1792000), +(1700707, 17, 'Alvorada', -12.4785000, -49.1249000), +(1701002, 17, 'Ananás', -63.6437000, -48.0735000), +(1701051, 17, 'Angico', -63.9179000, -47.8611000), +(1701101, 17, 'Aparecida do Rio Negro', -99.4139000, -47.9638000), +(1701309, 17, 'Aragominas', -71.6005000, -48.5291000), +(1701903, 17, 'Araguacema', -88.0755000, -49.5569000), +(1702000, 17, 'Araguaçu', -12.9289000, -49.8231000), +(1702109, 17, 'Araguaína', -71.9238000, -48.2044000), +(1702158, 17, 'Araguanã', -65.8225000, -48.6395000), +(1702208, 17, 'Araguatins', -56.4659000, -48.1232000), +(1702307, 17, 'Arapoema', -76.5463000, -49.0637000), +(1702406, 17, 'Arraias', -12.9287000, -46.9359000), +(1702554, 17, 'Augustinópolis', -54.6863000, -47.8863000), +(1702703, 17, 'Aurora do Tocantins', -12.7105000, -46.4076000), +(1702901, 17, 'Axixá do Tocantins', -56.1275000, -47.7701000), +(1703008, 17, 'Babaçulândia', -72.0923000, -47.7613000), +(1703057, 17, 'Bandeirantes do Tocantins', -77.5612000, -48.5836000), +(1703073, 17, 'Barra do Ouro', -76.9593000, -47.6776000), +(1703107, 17, 'Barrolândia', -98.3404000, -48.7252000), +(1703206, 17, 'Bernardo Sayão', -78.7481000, -48.8893000), +(1703305, 17, 'Bom Jesus do Tocantins', -89.6306000, -48.1650000), +(1703602, 17, 'Brasilândia do Tocantins', -83.8918000, -48.4822000), +(1703701, 17, 'Brejinho de Nazaré', -11.0058000, -48.5683000), +(1703800, 17, 'Buriti do Tocantins', -53.1448000, -48.2271000), +(1703826, 17, 'Cachoeirinha', -61.1560000, -47.9234000), +(1703842, 17, 'Campos Lindos', -79.8956000, -46.8645000), +(1703867, 17, 'Cariri do Tocantins', -11.8881000, -49.1609000), +(1703883, 17, 'Carmolândia', -70.3262000, -48.3978000), +(1703891, 17, 'Carrasco Bonito', -53.1415000, -48.0314000), +(1703909, 17, 'Caseara', -92.7612000, -49.9521000), +(1704105, 17, 'Centenário', -89.6103000, -47.3304000), +(1704600, 17, 'Chapada de Areia', -10.1419000, -49.1403000), +(1705102, 17, 'Chapada da Natividade', -11.6175000, -47.7486000), +(1705508, 17, 'Colinas do Tocantins', -80.5764000, -48.4757000), +(1705557, 17, 'Combinado', -12.7917000, -46.5388000), +(1705607, 17, 'Conceição do Tocantins', -12.2209000, -47.2951000), +(1706001, 17, 'Couto Magalhães', -82.8411000, -49.2473000), +(1706100, 17, 'Cristalândia', -10.5985000, -49.1942000), +(1706258, 17, 'Crixás do Tocantins', -11.0994000, -48.9152000), +(1706506, 17, 'Darcinópolis', -67.1591000, -47.7597000), +(1707009, 17, 'Dianópolis', -11.6240000, -46.8198000), +(1707108, 17, 'Divinópolis do Tocantins', -98.0018000, -49.2169000), +(1707207, 17, 'Dois Irmãos do Tocantins', -92.5534000, -49.0638000), +(1707306, 17, 'Dueré', -11.3416000, -49.2716000), +(1707405, 17, 'Esperantina', -53.6593000, -48.5378000), +(1707553, 17, 'Fátima', -10.7603000, -48.9076000), +(1707652, 17, 'Figueirópolis', -12.1312000, -49.1748000), +(1707702, 17, 'Filadélfia', -73.3501000, -47.4954000), +(1708205, 17, 'Formoso do Araguaia', -11.7976000, -49.5316000), +(1708254, 17, 'Fortaleza do Tabocão', -90.5611000, -48.5206000), +(1708304, 17, 'Goianorte', -87.7413000, -48.9313000), +(1709005, 17, 'Goiatins', -77.1478000, -47.3252000), +(1709302, 17, 'Guaraí', -8.8354300, -48.5114300), +(1709500, 17, 'Gurupi', -11.7279000, -49.0680000), +(1709807, 17, 'Ipueiras', -11.2329000, -48.4600000), +(1710508, 17, 'Itacajá', -83.9293000, -47.7726000), +(1710706, 17, 'Itaguatins', -57.7267000, -47.4864000), +(1710904, 17, 'Itapiratins', -83.7982000, -48.1072000), +(1711100, 17, 'Itaporã do Tocantins', -85.7172000, -48.6895000), +(1711506, 17, 'Jaú do Tocantins', -12.6509000, -48.5890000), +(1711803, 17, 'Juarina', -81.1951000, -49.0643000), +(1711902, 17, 'Lagoa da Confusão', -10.7906000, -49.6199000), +(1711951, 17, 'Lagoa do Tocantins', -10.3680000, -47.5380000), +(1712009, 17, 'Lajeado', -97.4996000, -48.3565000), +(1712157, 17, 'Lavandeira', -12.7847000, -46.5099000), +(1712405, 17, 'Lizarda', -95.9002000, -46.6738000), +(1712454, 17, 'Luzinópolis', -61.7794000, -47.8582000), +(1712504, 17, 'Marianópolis do Tocantins', -97.9377000, -49.6553000), +(1712702, 17, 'Mateiros', -10.5464000, -46.4168000), +(1712801, 17, 'Maurilândia do Tocantins', -59.5169000, -47.5125000), +(1713205, 17, 'Miracema do Tocantins', -95.6556000, -48.3930000), +(1713304, 17, 'Miranorte', -95.2907000, -48.5922000), +(1713601, 17, 'Monte do Carmo', -10.7611000, -48.1114000), +(1713700, 17, 'Monte Santo do Tocantins', -10.0075000, -48.9941000), +(1713809, 17, 'Palmeiras do Tocantins', -66.1658000, -47.5464000), +(1713957, 17, 'Muricilândia', -71.4669000, -48.6091000), +(1714203, 17, 'Natividade', -11.7034000, -47.7223000), +(1714302, 17, 'Nazaré', -63.7496000, -47.6643000), +(1714880, 17, 'Nova Olinda', -76.3171000, -48.4252000), +(1715002, 17, 'Nova Rosalândia', -10.5651000, -48.9125000), +(1715101, 17, 'Novo Acordo', -99.7063000, -47.6785000), +(1715150, 17, 'Novo Alegre', -12.9217000, -46.5713000), +(1715259, 17, 'Novo Jardim', -11.8260000, -46.6325000), +(1715507, 17, 'Oliveira de Fátima', -10.7070000, -48.9086000), +(1715705, 17, 'Palmeirante', -78.4786000, -47.9242000), +(1715754, 17, 'Palmeirópolis', -13.0447000, -48.4026000), +(1716109, 17, 'Paraíso do Tocantins', -10.1750000, -48.8823000), +(1716208, 17, 'Paranã', -12.6167000, -47.8734000), +(1716307, 17, "Pau D'Arco", -75.3919000, -49.3670000), +(1716505, 17, 'Pedro Afonso', -89.7034000, -48.1729000), +(1716604, 17, 'Peixe', -12.0254000, -48.5395000), +(1716653, 17, 'Pequizeiro', -85.9320000, -48.9327000), +(1716703, 17, 'Colméia', -87.2463000, -48.7638000), +(1717008, 17, 'Pindorama do Tocantins', -11.1311000, -47.5726000), +(1717206, 17, 'Piraquê', -67.7302000, -48.2958000), +(1717503, 17, 'Pium', -10.4420000, -49.1876000), +(1717800, 17, 'Ponte Alta do Bom Jesus', -12.0853000, -46.4825000), +(1717909, 17, 'Ponte Alta do Tocantins', -10.7481000, -47.5276000), +(1718006, 17, 'Porto Alegre do Tocantins', -11.6180000, -47.0621000), +(1718204, 17, 'Porto Nacional', -10.7027000, -48.4080000), +(1718303, 17, 'Praia Norte', -53.9281000, -47.8111000), +(1718402, 17, 'Presidente Kennedy', -85.4060000, -48.5062000), +(1718451, 17, 'Pugmil', -10.4240000, -48.8957000), +(1718501, 17, 'Recursolândia', -8.6685200, -47.0733300), +(1718550, 17, 'Riachinho', -64.4005000, -48.1371000), +(1718659, 17, 'Rio da Conceição', -11.3949000, -46.8847000), +(1718709, 17, 'Rio dos Bois', -93.4425000, -48.5245000), +(1718758, 17, 'Rio Sono', -93.5002000, -47.8880000), +(1718808, 17, 'Sampaio', -53.5423000, -47.8782000), +(1718840, 17, 'Sandolândia', -12.5380000, -49.9242000), +(1718865, 17, 'Santa Fé do Araguaia', -71.5803000, -48.7165000), +(1718881, 17, 'Santa Maria do Tocantins', -88.0460000, -47.7887000), +(1718899, 17, 'Santa Rita do Tocantins', -10.8617000, -48.9161000), +(1718907, 17, 'Santa Rosa do Tocantins', -11.4474000, -48.1216000), +(1719004, 17, 'Santa Tereza do Tocantins', -10.2746000, -47.8033000), +(1720002, 17, 'Santa Terezinha do Tocantins', -64.4438000, -47.6684000), +(1720101, 17, 'São Bento do Tocantins', -60.2580000, -47.9012000), +(1720150, 17, 'São Félix do Tocantins', -10.1615000, -46.6618000), +(1720200, 17, 'São Miguel do Tocantins', -55.6305000, -47.5743000), +(1720259, 17, 'São Salvador do Tocantins', -12.7458000, -48.2352000), +(1720309, 17, 'São Sebastião do Tocantins', -52.6131000, -48.2021000), +(1720499, 17, 'São Valério', -11.9743000, -48.2353000), +(1720655, 17, 'Silvanópolis', -11.1471000, -48.1694000), +(1720804, 17, 'Sítio Novo do Tocantins', -56.0120000, -47.6381000), +(1720853, 17, 'Sucupira', -11.9930000, -48.9685000), +(1720903, 17, 'Taguatinga', -12.4026000, -46.4370000), +(1720937, 17, 'Taipas do Tocantins', -12.1873000, -46.9797000), +(1720978, 17, 'Talismã', -12.7949000, -49.0896000), +(1721000, 17, 'Palmas', -10.2400000, -48.3558000), +(1721109, 17, 'Tocantínia', -95.6320000, -48.3741000), +(1721208, 17, 'Tocantinópolis', -63.2447000, -47.4224000), +(1721257, 17, 'Tupirama', -89.7168000, -48.1883000), +(1721307, 17, 'Tupiratins', -8.3996300, -48.1299600), +(1722081, 17, 'Wanderlândia', -68.5274000, -47.9601000), +(1722107, 17, 'Xambioá', -64.1410000, -48.5320000), +(2100055, 21, 'Açailândia', -49.4714000, -47.5004000), +(2100105, 21, 'Afonso Cunha', -41.3631000, -43.3275000), +(2100154, 21, 'Água Doce do Maranhão', -28.4048000, -42.1189000), +(2100204, 21, 'Alcântara', -23.9574000, -44.4062000), +(2100303, 21, 'Aldeias Altas', -46.2621000, -43.4689000), +(2100402, 21, 'Altamira do Maranhão', -41.6598000, -45.4706000), +(2100436, 21, 'Alto Alegre do Maranhão', -42.1300000, -44.4460000), +(2100477, 21, 'Alto Alegre do Pindaré', -36.6689000, -45.8421000), +(2100501, 21, 'Alto Parnaíba', -91.0273000, -45.9303000), +(2100550, 21, 'Amapá do Maranhão', -16.7524000, -46.0024000), +(2100600, 21, 'Amarante do Maranhão', -55.6913000, -46.7473000), +(2100709, 21, 'Anajatuba', -32.6269000, -44.6126000), +(2100808, 21, 'Anapurus', -36.7577000, -43.1014000), +(2100832, 21, 'Apicum-Açu', -14.5862000, -45.0864000), +(2100873, 21, 'Araguanã', -29.4644000, -45.6589000), +(2100907, 21, 'Araioses', -28.9091000, -41.9050000), +(2100956, 21, 'Arame', -48.8347000, -46.0032000), +(2101004, 21, 'Arari', -34.5214000, -44.7665000), +(2101103, 21, 'Axixá', -28.3939000, -44.0620000), +(2101202, 21, 'Bacabal', -42.2447000, -44.7832000), +(2101251, 21, 'Bacabeira', -29.6452000, -44.3164000), +(2101301, 21, 'Bacuri', -16.9650000, -45.1328000), +(2101350, 21, 'Bacurituba', -27.1000000, -44.7329000), +(2101400, 21, 'Balsas', -75.3214000, -46.0372000), +(2101509, 21, 'Barão de Grajaú', -67.4463000, -43.0261000), +(2101608, 21, 'Barra do Corda', -54.9682000, -45.2485000), +(2101707, 21, 'Barreirinhas', -27.5863000, -42.8232000), +(2101731, 21, 'Belágua', -31.5485000, -43.5122000), +(2101772, 21, 'Bela Vista do Maranhão', -37.2618000, -45.3075000), +(2101806, 21, 'Benedito Leite', -72.1037000, -44.5577000), +(2101905, 21, 'Bequimão', -24.4162000, -44.7842000), +(2101939, 21, 'Bernardo do Mearim', -46.2666000, -44.7608000), +(2101970, 21, 'Boa Vista do Gurupi', -17.7614000, -46.3002000), +(2102002, 21, 'Bom Jardim', -35.4129000, -45.6060000), +(2102036, 21, 'Bom Jesus das Selvas', -44.7638000, -46.8641000), +(2102077, 21, 'Bom Lugar', -43.7311000, -45.0326000), +(2102101, 21, 'Brejo', -36.7796000, -42.7527000), +(2102150, 21, 'Brejo de Areia', -43.3400000, -45.5810000), +(2102200, 21, 'Buriti', -39.4169000, -42.9179000), +(2102309, 21, 'Buriti Bravo', -58.3239000, -43.8353000), +(2102325, 21, 'Buriticupu', -43.2375000, -46.4409000), +(2102358, 21, 'Buritirana', -55.9823000, -47.0131000), +(2102374, 21, 'Cachoeira Grande', -29.3074000, -44.0528000), +(2102408, 21, 'Cajapió', -28.7326000, -44.6741000), +(2102507, 21, 'Cajari', -33.2742000, -45.0145000), +(2102556, 21, 'Campestre do Maranhão', -61.7075000, -47.3625000), +(2102606, 21, 'Cândido Mendes', -14.3265000, -45.7161000), +(2102705, 21, 'Cantanhede', -36.3757000, -44.3830000), +(2102754, 21, 'Capinzal do Norte', -47.2360000, -44.3280000), +(2102804, 21, 'Carolina', -73.3584000, -47.4634000), +(2102903, 21, 'Carutapera', -11.9696000, -46.0085000), +(2103000, 21, 'Caxias', -48.6505000, -43.3617000), +(2103109, 21, 'Cedral', -20.0027000, -44.5281000), +(2103125, 21, 'Central do Maranhão', -21.9831000, -44.8254000), +(2103158, 21, 'Centro do Guilherme', -24.4891000, -46.0345000), +(2103174, 21, 'Centro Novo do Maranhão', -21.2696000, -46.1228000), +(2103208, 21, 'Chapadinha', -37.3875000, -43.3538000), +(2103257, 21, 'Cidelândia', -51.7465000, -47.7781000), +(2103307, 21, 'Codó', -44.5562000, -43.8924000), +(2103406, 21, 'Coelho Neto', -42.5245000, -43.0108000), +(2103505, 21, 'Colinas', -60.3199000, -44.2543000), +(2103554, 21, 'Conceição do Lago-Açu', -38.5142000, -44.8895000), +(2103604, 21, 'Coroatá', -41.3442000, -44.1244000), +(2103703, 21, 'Cururupu', -18.1475000, -44.8644000), +(2103752, 21, 'Davinópolis', -55.4637000, -47.4217000), +(2103802, 21, 'Dom Pedro', -50.3518000, -44.4409000), +(2103901, 21, 'Duque Bacelar', -41.5002000, -42.9477000), +(2104008, 21, 'Esperantinópolis', -48.7938000, -44.6926000), +(2104057, 21, 'Estreito', -65.6077000, -47.4431000), +(2104073, 21, 'Feira Nova do Maranhão', -69.6508000, -46.6786000), +(2104081, 21, 'Fernando Falcão', -61.6207000, -44.8979000), +(2104099, 21, 'Formosa da Serra Negra', -64.4017000, -46.1916000), +(2104107, 21, 'Fortaleza dos Nogueiras', -69.5983000, -46.1749000), +(2104206, 21, 'Fortuna', -57.2792000, -44.1565000), +(2104305, 21, 'Godofredo Viana', -14.0259000, -45.7795000), +(2104404, 21, 'Gonçalves Dias', -51.4750000, -44.3013000), +(2104503, 21, 'Governador Archer', -50.2078000, -44.2754000), +(2104552, 21, 'Governador Edison Lobão', -57.4973000, -47.3646000), +(2104602, 21, 'Governador Eugênio Barros', -53.1897000, -44.2469000), +(2104628, 21, 'Governador Luiz Rocha', -54.7835000, -44.0774000), +(2104651, 21, 'Governador Newton Bello', -34.3245000, -45.6619000), +(2104677, 21, 'Governador Nunes Freire', -21.2899000, -45.8777000), +(2104701, 21, 'Graça Aranha', -54.0547000, -44.3358000), +(2104800, 21, 'Grajaú', -58.1367000, -46.1462000), +(2104909, 21, 'Guimarães', -21.2755000, -44.6020000), +(2105005, 21, 'Humberto de Campos', -25.9828000, -43.4649000), +(2105104, 21, 'Icatu', -27.7206000, -44.0501000), +(2105153, 21, 'Igarapé do Meio', -36.5771000, -45.2114000), +(2105203, 21, 'Igarapé Grande', -46.6250000, -44.8558000), +(2105302, 21, 'Imperatriz', -55.1847000, -47.4777000), +(2105351, 21, 'Itaipava do Grajaú', -51.4252000, -45.7877000), +(2105401, 21, 'Itapecuru Mirim', -34.0202000, -44.3508000), +(2105427, 21, 'Itinga do Maranhão', -44.5293000, -47.5235000), +(2105450, 21, 'Jatobá', -58.2282000, -44.2153000), +(2105476, 21, 'Jenipapo dos Vieiras', -53.6237000, -45.6356000), +(2105500, 21, 'João Lisboa', -54.4363000, -47.4064000), +(2105609, 21, 'Joselândia', -49.8611000, -44.6958000), +(2105658, 21, 'Junco do Maranhão', -18.3888000, -46.0900000), +(2105708, 21, 'Lago da Pedra', -45.6974000, -45.1319000), +(2105807, 21, 'Lago do Junco', -46.0900000, -45.0490000), +(2105906, 21, 'Lago Verde', -39.4661000, -44.8260000), +(2105922, 21, 'Lagoa do Mato', -60.5023000, -43.5333000), +(2105948, 21, 'Lago dos Rodrigues', -46.1173000, -44.9798000), +(2105963, 21, 'Lagoa Grande do Maranhão', -49.8893000, -45.3816000), +(2105989, 21, 'Lajeado Novo', -61.8539000, -47.0293000), +(2106003, 21, 'Lima Campos', -45.1837000, -44.4646000), +(2106102, 21, 'Loreto', -70.8111000, -45.1451000), +(2106201, 21, 'Luís Domingues', -12.7492000, -45.8670000), +(2106300, 21, 'Magalhães de Almeida', -33.9232000, -42.2117000), +(2106326, 21, 'Maracaçumé', -20.4918000, -45.9587000), +(2106359, 21, 'Marajá do Sena', -46.2806000, -45.4531000), +(2106375, 21, 'Maranhãozinho', -22.4078000, -45.8507000), +(2106409, 21, 'Mata Roma', -36.2035000, -43.1112000), +(2106508, 21, 'Matinha', -30.9849000, -45.0350000), +(2106607, 21, 'Matões', -55.1359000, -43.2018000), +(2106631, 21, 'Matões do Norte', -36.2440000, -44.5468000), +(2106672, 21, 'Milagres do Maranhão', -35.7443000, -42.6131000), +(2106706, 21, 'Mirador', -63.7454000, -44.3683000), +(2106755, 21, 'Miranda do Norte', -35.6313000, -44.5814000), +(2106805, 21, 'Mirinzal', -20.7094000, -44.7787000), +(2106904, 21, 'Monção', -34.8125000, -45.2496000), +(2107001, 21, 'Montes Altos', -58.3067000, -47.0673000), +(2107100, 21, 'Morros', -28.5379000, -44.0357000), +(2107209, 21, 'Nina Rodrigues', -34.6788000, -43.9134000), +(2107258, 21, 'Nova Colinas', -71.2263000, -46.2607000), +(2107308, 21, 'Nova Iorque', -67.3047000, -44.0471000), +(2107357, 21, 'Nova Olinda do Maranhão', -28.4227000, -45.6953000), +(2107407, 21, "Olho d'Água das Cunhãs", -41.3417000, -45.1163000), +(2107456, 21, 'Olinda Nova do Maranhão', -29.9295000, -44.9897000), +(2107506, 21, 'Paço do Lumiar', -25.1657000, -44.1019000), +(2107605, 21, 'Palmeirândia', -26.4433000, -44.8933000), +(2107704, 21, 'Paraibano', -64.2640000, -43.9792000), +(2107803, 21, 'Parnarama', -56.7365000, -43.1011000), +(2107902, 21, 'Passagem Franca', -61.7745000, -43.7755000), +(2108009, 21, 'Pastos Bons', -66.0296000, -44.0745000), +(2108058, 21, 'Paulino Neves', -27.2094000, -42.5258000), +(2108108, 21, 'Paulo Ramos', -44.4485000, -45.2398000), +(2108207, 21, 'Pedreiras', -45.6482000, -44.6006000), +(2108256, 21, 'Pedro do Rosário', -29.7272000, -45.3493000), +(2108306, 21, 'Penalva', -32.7674000, -45.1768000), +(2108405, 21, 'Peri Mirim', -25.7676000, -44.8504000), +(2108454, 21, 'Peritoró', -43.7459000, -44.3369000), +(2108504, 21, 'Pindaré-Mirim', -36.0985000, -45.3420000), +(2108603, 21, 'Pinheiro', -25.2224000, -45.0788000), +(2108702, 21, 'Pio XII', -38.9315000, -45.1759000), +(2108801, 21, 'Pirapemas', -37.2041000, -44.2216000), +(2108900, 21, 'Poção de Pedras', -47.4626000, -44.9432000), +(2109007, 21, 'Porto Franco', -63.4149000, -47.3962000), +(2109056, 21, 'Porto Rico do Maranhão', -18.5925000, -44.5842000), +(2109106, 21, 'Presidente Dutra', -52.8980000, -44.4950000), +(2109205, 21, 'Presidente Juscelino', -29.1872000, -44.0715000), +(2109239, 21, 'Presidente Médici', -23.8991000, -45.8200000), +(2109270, 21, 'Presidente Sarney', -25.8799000, -45.3595000), +(2109304, 21, 'Presidente Vargas', -34.0787000, -44.0234000), +(2109403, 21, 'Primeira Cruz', -25.0568000, -43.4232000), +(2109452, 21, 'Raposa', -24.2540000, -44.0973000), +(2109502, 21, 'Riachão', -73.5819000, -46.6225000), +(2109551, 21, 'Ribamar Fiquene', -59.3067000, -47.3888000), +(2109601, 21, 'Rosário', -29.3444000, -44.2531000), +(2109700, 21, 'Sambaíba', -71.3447000, -45.3515000), +(2109759, 21, 'Santa Filomena do Maranhão', -54.9671000, -44.5638000), +(2109809, 21, 'Santa Helena', -22.4426000, -45.2900000), +(2109908, 21, 'Santa Inês', -36.5112000, -45.3774000), +(2110005, 21, 'Santa Luzia', -40.6873000, -45.6900000), +(2110039, 21, 'Santa Luzia do Paruá', -25.1123000, -45.7801000), +(2110104, 21, 'Santa Quitéria do Maranhão', -3.4970160, -42.5624520), +(2110203, 21, 'Santa Rita', -31.4241000, -44.3211000), +(2110237, 21, 'Santana do Maranhão', -31.0900000, -42.4064000), +(2110278, 21, 'Santo Amaro do Maranhão', -25.0068000, -43.2380000), +(2110302, 21, 'Santo Antônio dos Lopes', -48.6613000, -44.3653000), +(2110401, 21, 'São Benedito do Rio Preto', -33.3515000, -43.5287000), +(2110500, 21, 'São Bento', -26.9781000, -44.8289000), +(2110609, 21, 'São Bernardo', -33.7223000, -42.4191000), +(2110658, 21, 'São Domingos do Azeitão', -68.1471000, -44.6509000), +(2110708, 21, 'São Domingos do Maranhão', -55.8095000, -44.3822000), +(2110807, 21, 'São Félix de Balsas', -70.7535000, -44.8092000), +(2110856, 21, 'São Francisco do Brejão', -51.2584000, -47.3890000), +(2110906, 21, 'São Francisco do Maranhão', -62.5159000, -42.8668000), +(2111003, 21, 'São João Batista', -29.5398000, -44.7953000), +(2111029, 21, 'São João do Carú', -35.5030000, -46.2507000), +(2111052, 21, 'São João do Paraíso', -64.5634000, -47.0594000), +(2111078, 21, 'São João do Soter', -51.0821000, -43.8163000), +(2111102, 21, 'São João dos Patos', -64.9340000, -43.7036000), +(2111201, 21, 'São José de Ribamar', -25.4704000, -44.0597000), +(2111250, 21, 'São José dos Basílios', -50.5493000, -44.5809000), +(2111300, 21, 'São Luís', -25.3874000, -44.2825000), +(2111409, 21, 'São Luís Gonzaga do Maranhão', -43.8541000, -44.6654000), +(2111508, 21, 'São Mateus do Maranhão', -40.3736000, -44.4707000), +(2111532, 21, 'São Pedro da Água Branca', -50.8472000, -48.4291000), +(2111573, 21, 'São Pedro dos Crentes', -68.2389000, -46.5319000), +(2111607, 21, 'São Raimundo das Mangabeiras', -70.2183000, -45.4809000), +(2111631, 21, 'São Raimundo do Doca Bezerra', -51.1053000, -45.0696000), +(2111672, 21, 'São Roberto', -50.2310000, -45.0010000), +(2111706, 21, 'São Vicente Ferrer', -28.9487000, -44.8681000), +(2111722, 21, 'Satubinha', -40.4913000, -45.2457000), +(2111748, 21, 'Senador Alexandre Costa', -52.5096000, -44.0533000), +(2111763, 21, 'Senador La Rocque', -54.4610000, -47.2959000), +(2111789, 21, 'Serrano do Maranhão', -18.5229000, -45.1207000), +(2111805, 21, 'Sítio Novo', -58.7601000, -46.7033000), +(2111904, 21, 'Sucupira do Norte', -64.7839000, -44.1919000), +(2111953, 21, 'Sucupira do Riachão', -64.0858000, -43.5455000), +(2112001, 21, 'Tasso Fragoso', -84.6620000, -45.7536000), +(2112100, 21, 'Timbiras', -42.5597000, -43.9320000), +(2112209, 21, 'Timon', -50.9769000, -42.8329000), +(2112233, 21, 'Trizidela do Vale', -45.3800000, -44.6280000), +(2112274, 21, 'Tufilândia', -36.7355000, -45.6238000), +(2112308, 21, 'Tuntum', -52.5476000, -44.6444000), +(2112407, 21, 'Turiaçu', -16.5893000, -45.3798000), +(2112456, 21, 'Turilândia', -22.1638000, -45.3044000), +(2112506, 21, 'Tutóia', -27.6141000, -42.2755000), +(2112605, 21, 'Urbano Santos', -32.0642000, -43.3878000), +(2112704, 21, 'Vargem Grande', -35.3639000, -43.9170000), +(2112803, 21, 'Viana', -32.0451000, -44.9912000), +(2112852, 21, 'Vila Nova dos Martírios', -51.8889000, -48.1336000), +(2112902, 21, 'Vitória do Mearim', -34.5125000, -44.8643000), +(2113009, 21, 'Vitorino Freire', -42.8184000, -45.2505000), +(2114007, 21, 'Zé Doca', -32.7014000, -45.6553000), +(2200053, 22, 'Acauã', -82.1954000, -41.0831000), +(2200103, 22, 'Agricolândia', -57.9676000, -42.6664000), +(2200202, 22, 'Água Branca', -58.8856000, -42.6370000), +(2200251, 22, 'Alagoinha do Piauí', -70.0039000, -40.9282000), +(2200277, 22, 'Alegrete do Piauí', -72.4196000, -40.8566000), +(2200301, 22, 'Alto Longá', -52.5634000, -42.2096000), +(2200400, 22, 'Altos', -50.3888000, -42.4612000), +(2200459, 22, 'Alvorada do Gurguéia', -84.2418000, -43.7770000), +(2200509, 22, 'Amarante', -62.4304000, -42.8433000), +(2200608, 22, 'Angical do Piauí', -60.8786000, -42.7400000), +(2200707, 22, 'Anísio de Abreu', -91.8564000, -43.0494000), +(2200806, 22, 'Antônio Almeida', -72.1276000, -44.1889000), +(2200905, 22, 'Aroazes', -61.1022000, -41.7822000), +(2200954, 22, 'Aroeiras do Itaim', -72.4502000, -41.5325000), +(2201002, 22, 'Arraial', -66.5075000, -42.5418000), +(2201051, 22, 'Assunção do Piauí', -58.6500000, -41.0389000), +(2201101, 22, 'Avelino Lopes', -10.1345000, -43.9563000), +(2201150, 22, 'Baixa Grande do Ribeiro', -78.4903000, -45.2190000), +(2201176, 22, "Barra D'Alcântara", -65.1645000, -42.1146000), +(2201200, 22, 'Barras', -42.4468000, -42.2922000), +(2201309, 22, 'Barreiras do Piauí', -99.2960000, -45.4702000), +(2201408, 22, 'Barro Duro', -58.1673000, -42.5147000), +(2201507, 22, 'Batalha', -40.2230000, -42.0787000), +(2201556, 22, 'Bela Vista do Piauí', -79.8809000, -41.8675000), +(2201572, 22, 'Belém do Piauí', -73.6652000, -40.9688000), +(2201606, 22, 'Beneditinos', -54.5676000, -42.3638000), +(2201705, 22, 'Bertolínia', -76.3338000, -43.9498000), +(2201739, 22, 'Betânia do Piauí', -81.4376000, -40.7989000), +(2201770, 22, 'Boa Hora', -44.1404000, -42.1357000), +(2201804, 22, 'Bocaina', -69.4124000, -41.3168000), +(2201903, 22, 'Bom Jesus', -90.7124000, -44.3590000), +(2201919, 22, 'Bom Princípio do Piauí', -31.9631000, -41.6403000), +(2201929, 22, 'Bonfim do Piauí', -91.6050000, -42.8865000), +(2201945, 22, 'Boqueirão do Piauí', -44.8181000, -42.1212000), +(2201960, 22, 'Brasileira', -41.3370000, -41.7859000), +(2201988, 22, 'Brejo do Piauí', -82.0314000, -42.8229000), +(2202000, 22, 'Buriti dos Lopes', -31.8259000, -41.8695000), +(2202026, 22, 'Buriti dos Montes', -53.0584000, -41.0933000), +(2202059, 22, 'Cabeceiras do Piauí', -44.7730000, -42.3069000), +(2202075, 22, 'Cajazeiras do Piauí', -67.9667000, -42.3903000), +(2202083, 22, 'Cajueiro da Praia', -29.3111000, -41.3408000), +(2202091, 22, 'Caldeirão Grande do Piauí', -73.3140000, -40.6366000), +(2202109, 22, 'Campinas do Piauí', -76.5930000, -41.8775000), +(2202117, 22, 'Campo Alegre do Fidalgo', -83.8236000, -41.8344000), +(2202133, 22, 'Campo Grande do Piauí', -71.2827000, -41.0315000), +(2202174, 22, 'Campo Largo do Piauí', -38.0441000, -42.6400000), +(2202208, 22, 'Campo Maior', -48.2170000, -42.1641000), +(2202251, 22, 'Canavieira', -76.8821000, -43.7233000), +(2202307, 22, 'Canto do Buriti', -81.1110000, -42.9517000), +(2202406, 22, 'Capitão de Campos', -44.5700000, -41.9440000), +(2202455, 22, 'Capitão Gervásio Oliveira', -84.9655000, -41.8140000), +(2202505, 22, 'Caracol', -92.7933000, -43.3290000), +(2202539, 22, 'Caraúbas do Piauí', -34.7525000, -41.8425000), +(2202554, 22, 'Caridade do Piauí', -77.3435000, -40.9848000), +(2202604, 22, 'Castelo do Piauí', -53.1869000, -41.5499000), +(2202653, 22, 'Caxingó', -34.1904000, -41.8955000), +(2202703, 22, 'Cocal', -34.7279000, -41.5546000), +(2202711, 22, 'Cocal de Telha', -45.5710000, -41.9587000), +(2202729, 22, 'Cocal dos Alves', -36.2047000, -41.4402000), +(2202737, 22, 'Coivaras', -50.9224000, -42.2080000), +(2202752, 22, 'Colônia do Gurguéia', -81.8370000, -43.7940000), +(2202778, 22, 'Colônia do Piauí', -72.2651000, -42.1756000), +(2202802, 22, 'Conceição do Canindé', -78.7638000, -41.5942000), +(2202851, 22, 'Coronel José Dias', -88.1397000, -42.5232000), +(2202901, 22, 'Corrente', -10.4333000, -45.1633000), +(2203008, 22, 'Cristalândia do Piauí', -10.6443000, -45.1893000), +(2203107, 22, 'Cristino Castro', -88.2273000, -44.2230000), +(2203206, 22, 'Curimatá', -10.0326000, -44.3002000), +(2203230, 22, 'Currais', -90.1175000, -44.4062000), +(2203255, 22, 'Curralinhos', -56.0825000, -42.8376000), +(2203271, 22, 'Curral Novo do Piauí', -78.3130000, -40.8957000), +(2203305, 22, 'Demerval Lobão', -53.5875000, -42.6776000), +(2203354, 22, 'Dirceu Arcoverde', -93.3939000, -42.4348000), +(2203404, 22, 'Dom Expedito Lopes', -69.5332000, -41.6396000), +(2203420, 22, 'Domingos Mourão', -42.4950000, -41.2683000), +(2203453, 22, 'Dom Inocêncio', -90.0516000, -41.9697000), +(2203503, 22, 'Elesbão Veloso', -61.9947000, -42.1355000), +(2203602, 22, 'Eliseu Martins', -80.9629000, -43.6705000), +(2203701, 22, 'Esperantina', -38.8863000, -42.2324000), +(2203750, 22, 'Fartura do Piauí', -94.8342000, -42.7912000), +(2203800, 22, 'Flores do Piauí', -77.8793000, -42.9180000), +(2203859, 22, 'Floresta do Piauí', -74.6682000, -41.7883000), +(2203909, 22, 'Floriano', -67.7182000, -43.0241000), +(2204006, 22, 'Francinópolis', -63.9334000, -42.2591000), +(2204105, 22, 'Francisco Ayres', -66.2606000, -42.6881000), +(2204154, 22, 'Francisco Macedo', -73.3100000, -40.7880000), +(2204204, 22, 'Francisco Santos', -69.9491000, -41.1288000), +(2204303, 22, 'Fronteiras', -70.8173000, -40.6146000), +(2204352, 22, 'Geminiano', -71.5476000, -41.3409000), +(2204402, 22, 'Gilbués', -98.3001000, -45.3423000), +(2204501, 22, 'Guadalupe', -67.8285000, -43.5594000), +(2204550, 22, 'Guaribas', -93.8647000, -43.6943000), +(2204600, 22, 'Hugo Napoleão', -59.8860000, -42.5598000), +(2204659, 22, 'Ilha Grande', -28.5774000, -41.8186000), +(2204709, 22, 'Inhuma', -66.6500000, -41.7041000), +(2204808, 22, 'Ipiranga do Piauí', -68.2421000, -41.7381000), +(2204907, 22, 'Isaías Coelho', -77.3597000, -41.6735000), +(2205003, 22, 'Itainópolis', -74.4336000, -41.4687000), +(2205102, 22, 'Itaueira', -75.9989000, -43.0249000), +(2205151, 22, 'Jacobina do Piauí', -79.3063000, -41.2075000), +(2205201, 22, 'Jaicós', -73.6229000, -41.1371000), +(2205250, 22, 'Jardim do Mulato', -60.9900000, -42.6300000), +(2205276, 22, 'Jatobá do Piauí', -47.7025000, -41.8170000), +(2205300, 22, 'Jerumenha', -70.9128000, -43.5033000), +(2205359, 22, 'João Costa', -85.0736000, -42.4264000), +(2205409, 22, 'Joaquim Pires', -35.0164000, -42.1865000), +(2205458, 22, 'Joca Marques', -34.8040000, -42.4255000), +(2205508, 22, 'José de Freitas', -47.5146000, -42.5746000), +(2205516, 22, 'Juazeiro do Piauí', -51.7459000, -41.6976000), +(2205524, 22, 'Júlio Borges', -10.3225000, -44.2381000), +(2205532, 22, 'Jurema', -92.1992000, -43.1337000), +(2205540, 22, 'Lagoinha do Piauí', -58.3074000, -42.6223000), +(2205557, 22, 'Lagoa Alegre', -45.1539000, -42.6309000), +(2205565, 22, 'Lagoa do Barro do Piauí', -84.7673000, -41.5342000), +(2205573, 22, 'Lagoa de São Francisco', -43.8505000, -41.5969000), +(2205581, 22, 'Lagoa do Piauí', -54.1864000, -42.6437000), +(2205599, 22, 'Lagoa do Sítio', -65.0766000, -41.5653000), +(2205607, 22, 'Landri Sales', -72.5922000, -43.9364000), +(2205706, 22, 'Luís Correia', -28.8438000, -41.6641000), +(2205805, 22, 'Luzilândia', -34.6830000, -42.3718000), +(2205854, 22, 'Madeiro', -34.8624000, -42.4981000), +(2205904, 22, 'Manoel Emídio', -80.1234000, -43.8755000), +(2205953, 22, 'Marcolândia', -74.4169000, -40.6602000), +(2206001, 22, 'Marcos Parente', -71.1565000, -43.8926000), +(2206050, 22, 'Massapê do Piauí', -74.7469000, -41.1103000), +(2206100, 22, 'Matias Olímpio', -37.1492000, -42.5507000), +(2206209, 22, 'Miguel Alves', -41.6857000, -42.8963000), +(2206308, 22, 'Miguel Leão', -56.8077000, -42.7436000), +(2206357, 22, 'Milton Brandão', -46.8295000, -41.4173000), +(2206407, 22, 'Monsenhor Gil', -55.6200000, -42.6075000), +(2206506, 22, 'Monsenhor Hipólito', -69.9275000, -41.0260000), +(2206605, 22, 'Monte Alegre do Piauí', -97.5364000, -45.3037000), +(2206654, 22, 'Morro Cabeça no Tempo', -97.1891000, -43.9072000), +(2206670, 22, 'Morro do Chapéu do Piauí', -37.3337000, -42.3024000), +(2206696, 22, 'Murici dos Portelas', -33.1900000, -42.0940000), +(2206704, 22, 'Nazaré do Piauí', -69.7023000, -42.6773000), +(2206720, 22, 'Nazária', -53.5128000, -42.8153000), +(2206753, 22, 'Nossa Senhora de Nazaré', -46.3019000, -42.1730000), +(2206803, 22, 'Nossa Senhora dos Remédios', -39.7574000, -42.6184000), +(2206902, 22, 'Novo Oriente do Piauí', -64.4901000, -41.9261000), +(2206951, 22, 'Novo Santo Antônio', -52.8749000, -41.9325000), +(2207009, 22, 'Oeiras', -70.1915000, -42.1283000), +(2207108, 22, "Olho D'Água do Piauí", -58.4125000, -42.5594000), +(2207207, 22, 'Padre Marcos', -73.5101000, -40.8997000), +(2207306, 22, 'Paes Landim', -77.7375000, -42.2474000), +(2207355, 22, 'Pajeú do Piauí', -78.5508000, -42.8248000), +(2207405, 22, 'Palmeira do Piauí', -87.3076000, -44.2466000), +(2207504, 22, 'Palmeirais', -59.7086000, -43.0560000), +(2207553, 22, 'Paquetá', -71.0303000, -41.7000000), +(2207603, 22, 'Parnaguá', -10.2166000, -44.6300000), +(2207702, 22, 'Parnaíba', -29.0585000, -41.7754000), +(2207751, 22, 'Passagem Franca do Piauí', -58.6036000, -42.4436000), +(2207777, 22, 'Patos do Piauí', -76.7231000, -41.2408000), +(2207793, 22, "Pau D'Arco do Piauí", -52.6072000, -42.3908000), +(2207801, 22, 'Paulistana', -81.3436000, -41.1431000), +(2207850, 22, 'Pavussu', -79.6059000, -43.2284000), +(2207900, 22, 'Pedro II', -44.2585000, -41.4482000), +(2207934, 22, 'Pedro Laurentino', -80.6807000, -42.2847000), +(2207959, 22, 'Nova Santa Rita', -80.9707000, -42.0471000), +(2208007, 22, 'Picos', -70.7721000, -41.4670000), +(2208106, 22, 'Pimenteiras', -62.3839000, -41.4113000), +(2208205, 22, 'Pio IX', -68.3002000, -40.6083000), +(2208304, 22, 'Piracuruca', -39.3335000, -41.7088000), +(2208403, 22, 'Piripiri', -42.7157000, -41.7716000), +(2208502, 22, 'Porto', -38.8815000, -42.6998000), +(2208551, 22, 'Porto Alegre do Piauí', -69.6423000, -44.1837000), +(2208601, 22, 'Prata do Piauí', -56.7265000, -42.2046000), +(2208650, 22, 'Queimada Nova', -85.7064000, -41.4106000), +(2208700, 22, 'Redenção do Gurguéia', -94.7937000, -44.5811000), +(2208809, 22, 'Regeneração', -62.3115000, -42.6842000), +(2208858, 22, 'Riacho Frio', -10.1244000, -44.9503000), +(2208874, 22, 'Ribeira do Piauí', -76.9028000, -42.7128000), +(2208908, 22, 'Ribeiro Gonçalves', -75.5651000, -45.2447000), +(2209005, 22, 'Rio Grande do Piauí', -77.8029000, -43.1369000), +(2209104, 22, 'Santa Cruz do Piauí', -71.7850000, -41.7609000), +(2209153, 22, 'Santa Cruz dos Milagres', -58.0581000, -41.9506000), +(2209203, 22, 'Santa Filomena', -9.1122800, -45.9116000), +(2209302, 22, 'Santa Luz', -89.4880000, -44.1296000), +(2209351, 22, 'Santana do Piauí', -69.4696000, -41.5178000), +(2209377, 22, 'Santa Rosa do Piauí', -67.9581000, -42.2814000), +(2209401, 22, 'Santo Antônio de Lisboa', -69.8676000, -41.2252000), +(2209450, 22, 'Santo Antônio dos Milagres', -60.4647000, -42.7123000), +(2209500, 22, 'Santo Inácio do Piauí', -74.2072000, -41.9063000), +(2209559, 22, 'São Braz do Piauí', -90.5797000, -43.0076000), +(2209609, 22, 'São Félix do Piauí', -59.3485000, -42.1172000), +(2209658, 22, 'São Francisco de Assis do Piauí', -82.3599000, -41.6873000), +(2209708, 22, 'São Francisco do Piauí', -72.4630000, -42.5410000), +(2209757, 22, 'São Gonçalo do Gurguéia', -10.0319000, -45.3092000), +(2209807, 22, 'São Gonçalo do Piauí', -59.9393000, -42.7095000), +(2209856, 22, 'São João da Canabrava', -68.1203000, -41.3415000), +(2209872, 22, 'São João da Fronteira', -39.5497000, -41.2569000), +(2209906, 22, 'São João da Serra', -55.1081000, -41.8923000), +(2209955, 22, 'São João da Varjota', -69.4082000, -41.8889000), +(2209971, 22, 'São João do Arraial', -38.1860000, -42.4459000), +(2210003, 22, 'São João do Piauí', -83.5466000, -42.2559000), +(2210052, 22, 'São José do Divino', -38.1411000, -41.8308000), +(2210102, 22, 'São José do Peixe', -74.8554000, -42.5672000), +(2210201, 22, 'São José do Piauí', -68.7194000, -41.4731000), +(2210300, 22, 'São Julião', -70.8391000, -40.8246000), +(2210359, 22, 'São Lourenço do Piauí', -91.6463000, -42.5496000), +(2210375, 22, 'São Luis do Piauí', -68.1936000, -41.3175000), +(2210383, 22, 'São Miguel da Baixa Grande', -58.5646000, -42.1934000), +(2210391, 22, 'São Miguel do Fidalgo', -75.9713000, -42.3676000), +(2210409, 22, 'São Miguel do Tapuio', -54.9729000, -41.3165000), +(2210508, 22, 'São Pedro do Piauí', -59.2078000, -42.7192000), +(2210607, 22, 'São Raimundo Nonato', -90.1241000, -42.6987000), +(2210623, 22, 'Sebastião Barros', -10.8170000, -44.8337000), +(2210631, 22, 'Sebastião Leal', -75.6803000, -44.0600000), +(2210656, 22, 'Sigefredo Pacheco', -49.1665000, -41.7311000), +(2210706, 22, 'Simões', -75.9109000, -40.8137000), +(2210805, 22, 'Simplício Mendes', -78.5294000, -41.9075000), +(2210904, 22, 'Socorro do Piauí', -78.6773000, -42.4922000), +(2210938, 22, 'Sussuapara', -70.3687000, -41.3767000), +(2210953, 22, 'Tamboril do Piauí', -84.0937000, -42.9211000), +(2210979, 22, 'Tanque do Piauí', -65.9787000, -42.2795000), +(2211001, 22, 'Teresina', -50.9194000, -42.8034000), +(2211100, 22, 'União', -45.8571000, -42.8583000), +(2211209, 22, 'Uruçuí', -72.3944000, -44.5577000), +(2211308, 22, 'Valença do Piauí', -64.0301000, -41.7375000), +(2211357, 22, 'Várzea Branca', -92.3800000, -42.9692000), +(2211407, 22, 'Várzea Grande', -65.4899000, -42.2480000), +(2211506, 22, 'Vera Mendes', -75.9748000, -41.4673000), +(2211605, 22, 'Vila Nova do Piauí', -71.3272000, -40.9345000), +(2211704, 22, 'Wall Ferraz', -72.3151000, -41.9050000), +(2300101, 23, 'Abaiara', -73.4588000, -39.0416000), +(2300150, 23, 'Acarape', -42.2083000, -38.7055000), +(2300200, 23, 'Acaraú', -28.8769000, -40.1183000), +(2300309, 23, 'Acopiara', -60.8911000, -39.4480000), +(2300408, 23, 'Aiuaba', -65.7122000, -40.1178000), +(2300507, 23, 'Alcântaras', -35.8537000, -40.5479000), +(2300606, 23, 'Altaneira', -69.9837000, -39.7356000), +(2300705, 23, 'Alto Santo', -55.0894000, -38.2743000), +(2300754, 23, 'Amontada', -33.6017000, -39.8288000), +(2300804, 23, 'Antonina do Norte', -67.6919000, -39.9870000), +(2300903, 23, 'Apuiarés', -39.4506000, -39.4359000), +(2301000, 23, 'Aquiraz', -38.9929000, -38.3896000), +(2301109, 23, 'Aracati', -45.5826000, -37.7679000), +(2301208, 23, 'Aracoiaba', -43.6872000, -38.8125000), +(2301257, 23, 'Ararendá', -47.4567000, -40.8310000), +(2301307, 23, 'Araripe', -72.1319000, -40.1359000), +(2301406, 23, 'Aratuba', -44.1229000, -39.0471000), +(2301505, 23, 'Arneiroz', -63.1650000, -40.1653000), +(2301604, 23, 'Assaré', -68.6690000, -39.8689000), +(2301703, 23, 'Aurora', -69.3349000, -38.9742000), +(2301802, 23, 'Baixio', -67.1945000, -38.7134000), +(2301851, 23, 'Banabuiú', -53.0454000, -38.9132000), +(2301901, 23, 'Barbalha', -72.9820000, -39.3021000), +(2301950, 23, 'Barreira', -42.8921000, -38.6429000), +(2302008, 23, 'Barro', -71.7188000, -38.7741000), +(2302057, 23, 'Barroquinha', -30.2051000, -41.1358000), +(2302107, 23, 'Baturité', -43.2598000, -38.8812000), +(2302206, 23, 'Beberibe', -41.7741000, -38.1271000), +(2302305, 23, 'Bela Cruz', -30.4996000, -40.1671000), +(2302404, 23, 'Boa Viagem', -51.1258000, -39.7337000), +(2302503, 23, 'Brejo Santo', -74.8469000, -38.9799000), +(2302602, 23, 'Camocim', -29.0050000, -40.8544000), +(2302701, 23, 'Campos Sales', -70.6761000, -40.3687000), +(2302800, 23, 'Canindé', -43.5162000, -39.3155000), +(2302909, 23, 'Capistrano', -44.5569000, -38.9048000), +(2303006, 23, 'Caridade', -42.2514000, -39.1912000), +(2303105, 23, 'Cariré', -39.4858000, -40.4760000), +(2303204, 23, 'Caririaçu', -70.2808000, -39.2828000), +(2303303, 23, 'Cariús', -65.2428000, -39.4916000), +(2303402, 23, 'Carnaubal', -41.5985000, -40.9413000), +(2303501, 23, 'Cascavel', -41.2967000, -38.2412000), +(2303600, 23, 'Catarina', -61.2291000, -39.8736000), +(2303659, 23, 'Catunda', -46.4336000, -40.2000000), +(2303709, 23, 'Caucaia', -37.2797000, -38.6619000), +(2303808, 23, 'Cedro', -66.0034000, -39.0609000), +(2303907, 23, 'Chaval', -30.3571000, -41.2435000), +(2303931, 23, 'Choró', -48.3906000, -39.1344000), +(2303956, 23, 'Chorozinho', -42.8873000, -38.4986000), +(2304004, 23, 'Coreaú', -35.4150000, -40.6587000), +(2304103, 23, 'Crateús', -51.6768000, -40.6536000), +(2304202, 23, 'Crato', -72.1530000, -39.4103000), +(2304236, 23, 'Croatá', -44.0481000, -40.9022000), +(2304251, 23, 'Cruz', -29.1813000, -40.1760000), +(2304269, 23, 'Deputado Irapuan Pinheiro', -59.1485000, -39.2570000), +(2304277, 23, 'Ererê', -60.2751000, -38.3461000), +(2304285, 23, 'Eusébio', -38.9250000, -38.4559000), +(2304301, 23, 'Farias Brito', -69.2146000, -39.5651000), +(2304350, 23, 'Forquilha', -37.9945000, -40.2634000), +(2304400, 23, 'Fortaleza', -37.1664000, -38.5423000), +(2304459, 23, 'Fortim', -44.5126000, -37.7981000), +(2304509, 23, 'Frecheirinha', -37.5557000, -40.8180000), +(2304608, 23, 'General Sampaio', -40.4351000, -39.4540000), +(2304657, 23, 'Graça', -40.4422000, -40.7490000), +(2304707, 23, 'Granja', -31.2788000, -40.8372000), +(2304806, 23, 'Granjeiro', -68.8134000, -39.2144000), +(2304905, 23, 'Groaíras', -39.1787000, -40.3852000), +(2304954, 23, 'Guaiúba', -40.4057000, -38.6404000), +(2305001, 23, 'Guaraciaba do Norte', -41.5814000, -40.7476000), +(2305100, 23, 'Guaramiranga', -42.6248000, -38.9320000), +(2305209, 23, 'Hidrolândia', -44.0958000, -40.4056000), +(2305233, 23, 'Horizonte', -41.2090000, -38.4707000), +(2305266, 23, 'Ibaretama', -48.0376000, -38.7501000), +(2305308, 23, 'Ibiapina', -39.2403000, -40.8911000), +(2305332, 23, 'Ibicuitinga', -49.6999000, -38.6362000), +(2305357, 23, 'Icapuí', -47.1206000, -37.3531000), +(2305407, 23, 'Icó', -63.9627000, -38.8554000), +(2305506, 23, 'Iguatu', -63.6281000, -39.2892000), +(2305605, 23, 'Independência', -53.8789000, -40.3085000), +(2305654, 23, 'Ipaporanga', -48.9764000, -40.7537000), +(2305704, 23, 'Ipaumirim', -67.8265000, -38.7179000), +(2305803, 23, 'Ipu', -43.1748000, -40.7059000), +(2305902, 23, 'Ipueiras', -45.3802000, -40.7118000), +(2306009, 23, 'Iracema', -58.1240000, -38.2919000), +(2306108, 23, 'Irauçuba', -37.4737000, -39.7843000), +(2306207, 23, 'Itaiçaba', -46.7146000, -37.8330000), +(2306256, 23, 'Itaitinga', -39.6577000, -38.5298000), +(2306306, 23, 'Itapajé', -36.8314000, -39.5855000), +(2306405, 23, 'Itapipoca', -34.9933000, -39.5836000), +(2306504, 23, 'Itapiúna', -45.5516000, -38.9281000), +(2306553, 23, 'Itarema', -29.2480000, -39.9167000), +(2306603, 23, 'Itatira', -45.2608000, -39.6202000), +(2306702, 23, 'Jaguaretama', -56.0510000, -38.7639000), +(2306801, 23, 'Jaguaribara', -56.7765000, -38.5359000), +(2306900, 23, 'Jaguaribe', -59.0213000, -38.6227000), +(2307007, 23, 'Jaguaruana', -48.3151000, -37.7810000), +(2307106, 23, 'Jardim', -75.7599000, -39.2826000), +(2307205, 23, 'Jati', -76.7970000, -39.0029000), +(2307254, 23, 'Jijoca de Jericoacoara', -27.9331000, -40.5127000), +(2307304, 23, 'Juazeiro do Norte', -71.9621000, -39.3076000), +(2307403, 23, 'Jucás', -65.1523000, -39.5187000), +(2307502, 23, 'Lavras da Mangabeira', -67.4480000, -38.9706000), +(2307601, 23, 'Limoeiro do Norte', -51.4392000, -38.0847000), +(2307635, 23, 'Madalena', -48.4601000, -39.5725000), +(2307650, 23, 'Maracanaú', -38.6699000, -38.6259000), +(2307700, 23, 'Maranguape', -38.9143000, -38.6829000), +(2307809, 23, 'Marco', -31.2850000, -40.1582000), +(2307908, 23, 'Martinópole', -32.2520000, -40.6896000), +(2308005, 23, 'Massapê', -35.2364000, -40.3423000), +(2308104, 23, 'Mauriti', -73.8597000, -38.7708000), +(2308203, 23, 'Meruoca', -35.3974000, -40.4531000), +(2308302, 23, 'Milagres', -72.9749000, -38.9378000), +(2308351, 23, 'Milhã', -56.7252000, -39.1875000), +(2308377, 23, 'Miraíma', -35.6867000, -39.9663000), +(2308401, 23, 'Missão Velha', -72.3522000, -39.1430000), +(2308500, 23, 'Mombaça', -57.3844000, -39.6300000), +(2308609, 23, 'Monsenhor Tabosa', -47.9102000, -40.0646000), +(2308708, 23, 'Morada Nova', -50.9736000, -38.3702000), +(2308807, 23, 'Moraújo', -34.6311000, -40.6776000), +(2308906, 23, 'Morrinhos', -32.3426000, -40.1233000), +(2309003, 23, 'Mucambo', -39.0271000, -40.7452000), +(2309102, 23, 'Mulungu', -43.0294000, -38.9951000), +(2309201, 23, 'Nova Olinda', -70.8415000, -39.6713000), +(2309300, 23, 'Nova Russas', -47.0581000, -40.5621000), +(2309409, 23, 'Novo Oriente', -55.2552000, -40.7713000), +(2309458, 23, 'Ocara', -44.8523000, -38.5933000), +(2309508, 23, 'Orós', -62.5182000, -38.9053000), +(2309607, 23, 'Pacajus', -41.7107000, -38.4650000), +(2309706, 23, 'Pacatuba', -39.7840000, -38.6183000), +(2309805, 23, 'Pacoti', -42.2492000, -38.9220000), +(2309904, 23, 'Pacujá', -39.8327000, -40.6989000), +(2310001, 23, 'Palhano', -47.3672000, -37.9655000), +(2310100, 23, 'Palmácia', -41.3831000, -38.8446000), +(2310209, 23, 'Paracuru', -34.1436000, -39.0300000), +(2310258, 23, 'Paraipaba', -34.3799000, -39.1479000), +(2310308, 23, 'Parambu', -62.0768000, -40.6905000), +(2310407, 23, 'Paramoti', -40.8815000, -39.2417000), +(2310506, 23, 'Pedra Branca', -54.5341000, -39.7078000), +(2310605, 23, 'Penaforte', -78.2163000, -39.0707000), +(2310704, 23, 'Pentecoste', -37.9274000, -39.2692000), +(2310803, 23, 'Pereiro', -60.3576000, -38.4624000), +(2310852, 23, 'Pindoretama', -40.1584000, -38.3061000), +(2310902, 23, 'Piquet Carneiro', -58.0025000, -39.4170000), +(2310951, 23, 'Pires Ferreira', -42.3922000, -40.6442000), +(2311009, 23, 'Poranga', -47.4672000, -40.9205000), +(2311108, 23, 'Porteiras', -75.2265000, -39.1140000), +(2311207, 23, 'Potengi', -70.9154000, -40.0233000), +(2311231, 23, 'Potiretama', -57.1287000, -38.1578000), +(2311264, 23, 'Quiterianópolis', -58.4250000, -40.7002000), +(2311306, 23, 'Quixadá', -49.6630000, -39.0155000), +(2311355, 23, 'Quixelô', -62.4637000, -39.2011000), +(2311405, 23, 'Quixeramobim', -51.9067000, -39.2889000), +(2311504, 23, 'Quixeré', -50.7148000, -37.9802000), +(2311603, 23, 'Redenção', -42.1587000, -38.7277000), +(2311702, 23, 'Reriutaba', -41.4191000, -40.5759000), +(2311801, 23, 'Russas', -49.2673000, -37.9721000), +(2311900, 23, 'Saboeiro', -65.3460000, -39.9017000), +(2311959, 23, 'Salitre', -72.8398000, -40.4500000), +(2312007, 23, 'Santana do Acaraú', -34.6144000, -40.2118000), +(2312106, 23, 'Santana do Cariri', -71.7613000, -39.7302000), +(2312205, 23, 'Santa Quitéria', -43.2608000, -40.1523000), +(2312304, 23, 'São Benedito', -40.4713000, -40.8596000), +(2312403, 23, 'São Gonçalo do Amarante', -36.0515000, -38.9726000), +(2312502, 23, 'São João do Jaguaribe', -52.7516000, -38.2694000), +(2312601, 23, 'São Luís do Curu', -36.6976000, -39.2391000), +(2312700, 23, 'Senador Pompeu', -55.8244000, -39.3704000), +(2312809, 23, 'Senador Sá', -33.5305000, -40.4662000), +(2312908, 23, 'Sobral', -36.8913000, -40.3482000), +(2313005, 23, 'Solonópole', -57.1894000, -39.0107000), +(2313104, 23, 'Tabuleiro do Norte', -52.4353000, -38.1282000), +(2313203, 23, 'Tamboril', -48.3136000, -40.3196000), +(2313252, 23, 'Tarrafas', -66.7838000, -39.7530000), +(2313302, 23, 'Tauá', -59.8585000, -40.2968000), +(2313351, 23, 'Tejuçuoca', -39.8831000, -39.5799000), +(2313401, 23, 'Tianguá', -37.2965000, -40.9923000), +(2313500, 23, 'Trairi', -32.6932000, -39.2681000), +(2313559, 23, 'Tururu', -35.8413000, -39.4297000), +(2313609, 23, 'Ubajara', -38.5448000, -40.9204000), +(2313708, 23, 'Umari', -66.3893000, -38.7008000), +(2313757, 23, 'Umirim', -36.7654000, -39.3465000), +(2313807, 23, 'Uruburetama', -36.2316000, -39.5107000), +(2313906, 23, 'Uruoca', -33.0819000, -40.5628000), +(2313955, 23, 'Varjota', -41.9387000, -40.4741000), +(2314003, 23, 'Várzea Alegre', -67.8264000, -39.2942000), +(2314102, 23, 'Viçosa do Ceará', -35.6670000, -41.0916000), +(2400109, 24, 'Acari', -64.2820000, -36.6347000), +(2400208, 24, 'Açu', -55.8362000, -36.9140000), +(2400307, 24, 'Afonso Bezerra', -54.9229000, -36.5075000), +(2400406, 24, 'Água Nova', -62.0351000, -38.2941000), +(2400505, 24, 'Alexandria', -64.0533000, -38.0142000), +(2400604, 24, 'Almino Afonso', -61.4750000, -37.7636000), +(2400703, 24, 'Alto do Rodrigues', -52.8186000, -36.7500000), +(2400802, 24, 'Angicos', -56.5792000, -36.6094000), +(2400901, 24, 'Antônio Martins', -62.1367000, -37.8834000), +(2401008, 24, 'Apodi', -56.5349000, -37.7946000), +(2401107, 24, 'Areia Branca', -49.5254000, -37.1252000), +(2401206, 24, 'Arês', -61.8831000, -35.1608000), +(2401305, 24, 'Augusto Severo (Campo Grande)', -58.6206000, -37.3135000), +(2401404, 24, 'Baía Formosa', -6.3716100, -35.0033000), +(2401453, 24, 'Baraúna', -50.6977000, -37.6129000), +(2401503, 24, 'Barcelona', -59.4284000, -35.9247000), +(2401602, 24, 'Bento Fernandes', -56.9906000, -35.8130000), +(2401651, 24, 'Bodó', -59.8027000, -36.4167000), +(2401701, 24, 'Bom Jesus', -59.8648000, -35.5792000), +(2401800, 24, 'Brejinho', -61.8566000, -35.3591000), +(2401859, 24, 'Caiçara do Norte', -50.7091000, -36.0717000), +(2401909, 24, 'Caiçara do Rio do Vento', -57.6541000, -35.9938000), +(2402006, 24, 'Caicó', -64.5441000, -37.1067000), +(2402105, 24, 'Campo Redondo', -62.3829000, -36.1888000), +(2402204, 24, 'Canguaretama', -63.7193000, -35.1281000), +(2402303, 24, 'Caraúbas', -57.8387000, -37.5586000), +(2402402, 24, 'Carnaúba dos Dantas', -65.5015000, -36.5868000), +(2402501, 24, 'Carnaubais', -53.4181000, -36.8335000), +(2402600, 24, 'Ceará-Mirim', -56.4323000, -35.4247000), +(2402709, 24, 'Cerro Corá', -60.3503000, -36.3503000), +(2402808, 24, 'Coronel Ezequiel', -63.7480000, -36.2223000), +(2402907, 24, 'Coronel João Pessoa', -62.4974000, -38.4441000), +(2403004, 24, 'Cruzeta', -64.0894000, -36.7782000), +(2403103, 24, 'Currais Novos', -62.5484000, -36.5146000), +(2403202, 24, 'Doutor Severiano', -60.8082000, -38.3794000), +(2403251, 24, 'Parnamirim', -59.1116000, -35.2710000), +(2403301, 24, 'Encanto', -61.0691000, -38.3033000), +(2403400, 24, 'Equador', -69.3835000, -36.7170000), +(2403509, 24, 'Espírito Santo', -63.3563000, -35.3052000), +(2403608, 24, 'Extremoz', -57.0143000, -35.3048000), +(2403707, 24, 'Felipe Guerra', -55.9274000, -37.6875000), +(2403756, 24, 'Fernando Pedroza', -56.9096000, -36.5282000), +(2403806, 24, 'Florânia', -61.2264000, -36.8226000), +(2403905, 24, 'Francisco Dantas', -60.7234000, -38.1212000), +(2404002, 24, 'Frutuoso Gomes', -61.5669000, -37.8375000), +(2404101, 24, 'Galinhos', -50.9090000, -36.2754000), +(2404200, 24, 'Goianinha', -62.6486000, -35.1943000), +(2404309, 24, 'Governador Dix-Sept Rosado', -54.4887000, -37.5183000), +(2404408, 24, 'Grossos', -49.8068000, -37.1621000), +(2404507, 24, 'Guamaré', -51.0619000, -36.3222000), +(2404606, 24, 'Ielmo Marinho', -58.2447000, -35.5500000), +(2404705, 24, 'Ipanguaçu', -54.8984000, -36.8501000), +(2404804, 24, 'Ipueira', -68.0596000, -37.2045000), +(2404853, 24, 'Itajá', -56.3894000, -36.8712000), +(2404903, 24, 'Itaú', -58.3630000, -37.9912000), +(2405009, 24, 'Jaçanã', -64.1856000, -36.2031000), +(2405108, 24, 'Jandaíra', -53.5211000, -36.1278000), +(2405207, 24, 'Janduís', -60.1474000, -37.4048000), +(2405306, 24, 'Januário Cicco (Boa Saúde)', -61.6566000, -35.6219000), +(2405405, 24, 'Japi', -64.6544000, -35.9346000), +(2405504, 24, 'Jardim de Angicos', -56.4999000, -35.9713000), +(2405603, 24, 'Jardim de Piranhas', -63.7665000, -37.3496000), +(2405702, 24, 'Jardim do Seridó', -65.8047000, -36.7736000), +(2405801, 24, 'João Câmara', -55.4094000, -35.8122000), +(2405900, 24, 'João Dias', -62.7215000, -37.7885000), +(2406007, 24, 'José da Penha', -63.1095000, -38.2823000), +(2406106, 24, 'Jucurutu', -60.3060000, -37.0090000), +(2406155, 24, 'Jundiá', -62.6866000, -35.3495000), +(2406205, 24, "Lagoa d'Anta", -63.9493000, -35.5949000), +(2406304, 24, 'Lagoa de Pedras', -61.5082000, -35.4299000), +(2406403, 24, 'Lagoa de Velhos', -60.1190000, -35.8729000), +(2406502, 24, 'Lagoa Nova', -60.9339000, -36.4703000), +(2406601, 24, 'Lagoa Salgada', -61.2295000, -35.4724000), +(2406700, 24, 'Lajes', -56.9322000, -36.2470000), +(2406809, 24, 'Lajes Pintadas', -61.4943000, -36.1171000), +(2406908, 24, 'Lucrécia', -61.0525000, -37.8134000), +(2407005, 24, 'Luís Gomes', -64.0588000, -38.3899000), +(2407104, 24, 'Macaíba', -5.8522900, -35.3552000), +(2407203, 24, 'Macau', -51.0795000, -36.6318000), +(2407252, 24, 'Major Sales', -63.9949000, -38.3240000), +(2407302, 24, 'Marcelino Vieira', -62.8460000, -38.1642000), +(2407401, 24, 'Martins', -60.8279000, -37.9080000), +(2407500, 24, 'Maxaranguape', -55.2181000, -35.2631000), +(2407609, 24, 'Messias Targino', -60.7194000, -37.5158000), +(2407708, 24, 'Montanhas', -64.8522000, -35.2842000), +(2407807, 24, 'Monte Alegre', -60.7063000, -35.3253000), +(2407906, 24, 'Monte das Gameleiras', -64.3698000, -35.7831000), +(2408003, 24, 'Mossoró', -51.8374000, -37.3474000), +(2408102, 24, 'Natal', -57.9357000, -35.1986000), +(2408201, 24, 'Nísia Floresta', -60.9329000, -35.1991000), +(2408300, 24, 'Nova Cruz', -64.7511000, -35.4286000), +(2408409, 24, "Olho-d'Água do Borges", -59.4860000, -37.7047000), +(2408508, 24, 'Ouro Branco', -66.9580000, -36.9428000), +(2408607, 24, 'Paraná', -64.7565000, -38.3057000), +(2408706, 24, 'Paraú', -57.6893000, -37.1032000), +(2408805, 24, 'Parazinho', -52.2276000, -35.8398000), +(2408904, 24, 'Parelhas', -66.8491000, -36.6566000), +(2408953, 24, 'Rio do Fogo', -52.7650000, -35.3794000), +(2409100, 24, 'Passa e Fica', -64.3018000, -35.6442000), +(2409209, 24, 'Passagem', -62.7268000, -35.3700000), +(2409308, 24, 'Patu', -61.0656000, -37.6356000), +(2409332, 24, 'Santa Maria', -58.3802000, -35.6914000), +(2409407, 24, 'Pau dos Ferros', -61.0498000, -38.2077000), +(2409506, 24, 'Pedra Grande', -51.4988000, -35.8760000), +(2409605, 24, 'Pedra Preta', -55.7352000, -36.1084000), +(2409704, 24, 'Pedro Avelino', -55.1610000, -36.3867000), +(2409803, 24, 'Pedro Velho', -64.3560000, -35.2195000), +(2409902, 24, 'Pendências', -52.5640000, -36.7095000), +(2410009, 24, 'Pilões', -62.6364000, -38.0461000), +(2410108, 24, 'Poço Branco', -56.2233000, -35.6635000), +(2410207, 24, 'Portalegre', -60.2064000, -37.9865000), +(2410256, 24, 'Porto do Mangue', -50.5441000, -36.7887000), +(2410306, 24, 'Serra Caiada', -61.0478000, -35.7113000), +(2410405, 24, 'Pureza', -54.6393000, -35.5554000), +(2410504, 24, 'Rafael Fernandes', -61.8987000, -38.2211000), +(2410603, 24, 'Rafael Godeiro', -60.7244000, -37.7160000), +(2410702, 24, 'Riacho da Cruz', -59.2654000, -37.9490000), +(2410801, 24, 'Riacho de Santana', -62.5139000, -38.3116000), +(2410900, 24, 'Riachuelo', -58.2156000, -35.8215000), +(2411007, 24, 'Rodolfo Fernandes', -57.8393000, -38.0579000), +(2411056, 24, 'Tibau', -48.3729000, -37.2554000), +(2411106, 24, 'Ruy Barbosa', -58.8745000, -35.9330000), +(2411205, 24, 'Santa Cruz', -62.2475000, -36.0193000), +(2411403, 24, 'Santana do Matos', -59.4605000, -36.6578000), +(2411429, 24, 'Santana do Seridó', -67.6643000, -36.7312000), +(2411502, 24, 'Santo Antônio', -63.1195000, -35.4739000), +(2411601, 24, 'São Bento do Norte', -50.9259000, -35.9587000), +(2411700, 24, 'São Bento do Trairí', -63.3798000, -36.0863000), +(2411809, 24, 'São Fernando', -63.7975000, -37.1864000), +(2411908, 24, 'São Francisco do Oeste', -59.7472000, -38.1519000), +(2412005, 24, 'São Gonçalo do Amarante', -57.9068000, -35.3257000), +(2412104, 24, 'São João do Sabugi', -67.1387000, -37.2027000), +(2412203, 24, 'São José de Mipibu', -60.7730000, -35.2417000), +(2412302, 24, 'São José do Campestre', -63.1087000, -35.7067000), +(2412401, 24, 'São José do Seridó', -64.4002000, -36.8746000), +(2412500, 24, 'São Miguel', -62.0283000, -38.4947000), +(2412559, 24, 'São Miguel do Gostoso', -51.2302000, -35.6354000), +(2412609, 24, 'São Paulo do Potengi', -58.9940000, -35.7642000), +(2412708, 24, 'São Pedro', -59.0559000, -35.6317000), +(2412807, 24, 'São Rafael', -57.9791000, -36.8778000), +(2412906, 24, 'São Tomé', -59.6404000, -36.0798000), +(2413003, 24, 'São Vicente', -62.1893000, -36.6827000), +(2413102, 24, 'Senador Elói de Souza', -60.3334000, -35.6978000), +(2413201, 24, 'Senador Georgino Avelino', -61.5760000, -35.1299000), +(2413300, 24, 'Serra de São Bento', -64.1762000, -35.7033000), +(2413359, 24, 'Serra do Mel', -51.7725000, -37.0242000), +(2413409, 24, 'Serra Negra do Norte', -66.6031000, -37.3996000), +(2413508, 24, 'Serrinha', -62.8181000, -35.5000000), +(2413557, 24, 'Serrinha dos Pintos', -61.1087000, -37.9548000), +(2413607, 24, 'Severiano Melo', -57.7666000, -37.9570000), +(2413706, 24, 'Sítio Novo', -61.1132000, -35.9090000), +(2413805, 24, 'Taboleiro Grande', -59.1948000, -38.0367000), +(2413904, 24, 'Taipu', -56.3058000, -35.5918000), +(2414001, 24, 'Tangará', -61.9649000, -35.7989000), +(2414100, 24, 'Tenente Ananias', -64.5823000, -38.1820000), +(2414159, 24, 'Tenente Laurentino Cruz', -61.3780000, -36.7135000), +(2414209, 24, 'Tibau do Sul', -61.9176000, -35.0866000), +(2414308, 24, 'Timbaúba dos Batistas', -64.5768000, -37.2745000), +(2414407, 24, 'Touros', -52.0182000, -35.4621000), +(2414456, 24, 'Triunfo Potiguar', -58.5408000, -37.1786000), +(2414506, 24, 'Umarizal', -59.8238000, -37.8180000), +(2414605, 24, 'Upanema', -56.3761000, -37.2635000), +(2414704, 24, 'Várzea', -63.4641000, -35.3732000), +(2414753, 24, 'Venha-Ver', -63.2016000, -38.4896000), +(2414803, 24, 'Vera Cruz', -60.4399000, -35.4280000), +(2414902, 24, 'Viçosa', -59.8253000, -37.9462000), +(2415008, 24, 'Vila Flor', -63.1287000, -35.0670000), +(2500106, 25, 'Água Branca', -75.1144000, -37.6357000), +(2500205, 25, 'Aguiar', -70.9180000, -38.1681000), +(2500304, 25, 'Alagoa Grande', -70.3943000, -35.6206000), +(2500403, 25, 'Alagoa Nova', -70.5377000, -35.7591000), +(2500502, 25, 'Alagoinha', -69.4657000, -35.5332000), +(2500536, 25, 'Alcantil', -77.3668000, -36.0511000), +(2500577, 25, 'Algodão de Jandaíra', -68.9292000, -36.0129000), +(2500601, 25, 'Alhandra', -74.2977000, -34.9057000), +(2500700, 25, 'São João do Rio do Peixe', -67.2195000, -38.4468000), +(2500734, 25, 'Amparo', -75.5502000, -37.0628000), +(2500775, 25, 'Aparecida', -67.8466000, -38.0803000), +(2500809, 25, 'Araçagi', -68.4374000, -35.3737000), +(2500908, 25, 'Arara', -68.2813000, -35.7552000), +(2501005, 25, 'Araruna', -65.4848000, -35.7498000), +(2501104, 25, 'Areia', -6.9639600, -35.6977000), +(2501153, 25, 'Areia de Baraúnas', -71.1702000, -36.9404000), +(2501203, 25, 'Areial', -70.4789000, -35.9313000), +(2501302, 25, 'Aroeiras', -75.4473000, -35.7066000), +(2501351, 25, 'Assunção', -70.7231000, -36.7250000), +(2501401, 25, 'Baía da Traição', -66.9209000, -34.9381000), +(2501500, 25, 'Bananeiras', -67.4775000, -35.6246000), +(2501534, 25, 'Baraúna', -66.3484000, -36.2601000), +(2501575, 25, 'Barra de Santana', -75.1809000, -35.9913000), +(2501609, 25, 'Barra de Santa Rosa', -67.1816000, -36.0671000), +(2501708, 25, 'Barra de São Miguel', -77.4603000, -36.3209000), +(2501807, 25, 'Bayeux', -71.2380000, -34.9293000), +(2501906, 25, 'Belém', -67.4261000, -35.5166000), +(2502003, 25, 'Belém do Brejo do Cruz', -61.8515000, -37.5348000), +(2502052, 25, 'Bernardino Batista', -64.4572000, -38.5521000), +(2502102, 25, 'Boa Ventura', -74.0982000, -38.2113000), +(2502151, 25, 'Boa Vista', -72.6365000, -36.2357000), +(2502201, 25, 'Bom Jesus', -68.1601000, -38.6453000), +(2502300, 25, 'Bom Sucesso', -64.4176000, -37.9234000), +(2502409, 25, 'Bonito de Santa Fé', -73.1341000, -38.5133000), +(2502508, 25, 'Boqueirão', -74.8700000, -36.1309000), +(2502607, 25, 'Igaracy', -71.7184000, -38.1478000), +(2502706, 25, 'Borborema', -68.0199000, -35.6187000), +(2502805, 25, 'Brejo do Cruz', -63.4185000, -37.4943000), +(2502904, 25, 'Brejo dos Santos', -63.7065000, -37.8253000), +(2503001, 25, 'Caaporã', -75.1351000, -34.9055000), +(2503100, 25, 'Cabaceiras', -74.8899000, -36.2870000), +(2503209, 25, 'Cabedelo', -69.8731000, -34.8284000), +(2503308, 25, 'Cachoeira dos Índios', -69.1353000, -38.6760000), +(2503407, 25, 'Cacimba de Areia', -71.2128000, -37.1563000), +(2503506, 25, 'Cacimba de Dentro', -66.3860000, -35.7778000), +(2503555, 25, 'Cacimbas', -72.0721000, -37.0604000), +(2503605, 25, 'Caiçara', -66.2115000, -35.4581000), +(2503704, 25, 'Cajazeiras', -68.8004000, -38.5577000), +(2503753, 25, 'Cajazeirinhas', -69.6016000, -37.8009000), +(2503803, 25, 'Caldas Brandão', -71.0250000, -35.3272000), +(2503902, 25, 'Camalaú', -78.8503000, -36.8242000), +(2504009, 25, 'Campina Grande', -72.2196000, -35.8731000), +(2504033, 25, 'Capim', -69.1624000, -35.1673000), +(2504074, 25, 'Caraúbas', -77.2049000, -36.4920000), +(2504108, 25, 'Carrapateira', -70.3414000, -38.3399000), +(2504157, 25, 'Casserengue', -67.7954000, -35.8179000), +(2504207, 25, 'Catingueira', -71.2008000, -37.6064000), +(2504306, 25, 'Catolé do Rocha', -63.4062000, -37.7470000), +(2504355, 25, 'Caturité', -74.1659000, -36.0306000), +(2504405, 25, 'Conceição', -75.5106000, -38.5014000), +(2504504, 25, 'Condado', -68.9831000, -37.6060000), +(2504603, 25, 'Conde', -7.2597200, -34.9075000), +(2504702, 25, 'Congo', -77.9078000, -36.6581000), +(2504801, 25, 'Coremas', -70.0712000, -37.9346000), +(2504850, 25, 'Coxixola', -76.2365000, -36.6064000), +(2504900, 25, 'Cruz do Espírito Santo', -71.3902000, -35.0857000), +(2505006, 25, 'Cubati', -68.6686000, -36.3619000), +(2505105, 25, 'Cuité', -64.7647000, -36.1515000), +(2505204, 25, 'Cuitegi', -68.9058000, -35.5215000), +(2505238, 25, 'Cuité de Mamanguape', -69.1292000, -35.2502000), +(2505279, 25, 'Curral de Cima', -67.2325000, -35.2639000), +(2505303, 25, 'Curral Velho', -75.3075000, -38.1962000), +(2505352, 25, 'Damião', -66.3161000, -35.9101000), +(2505402, 25, 'Desterro', -72.8700000, -37.0925000), +(2505501, 25, 'Vista Serrana', -67.3030000, -37.5704000), +(2505600, 25, 'Diamante', -74.1738000, -38.2615000), +(2505709, 25, 'Dona Inês', -66.1566000, -35.6205000), +(2505808, 25, 'Duas Estradas', -66.8499000, -35.4180000), +(2505907, 25, 'Emas', -70.9964000, -37.7163000), +(2506004, 25, 'Esperança', -70.2278000, -35.8597000), +(2506103, 25, 'Fagundes', -73.4454000, -35.7931000), +(2506202, 25, 'Frei Martinho', -63.9759000, -36.4526000), +(2506251, 25, 'Gado Bravo', -75.8279000, -35.7899000), +(2506301, 25, 'Guarabira', -68.5064000, -35.4850000), +(2506400, 25, 'Gurinhém', -71.2330000, -35.4222000), +(2506509, 25, 'Gurjão', -72.4833000, -36.4923000), +(2506608, 25, 'Ibiara', -74.7957000, -38.4059000), +(2506707, 25, 'Imaculada', -73.8890000, -37.5079000), +(2506806, 25, 'Ingá', -72.8144000, -35.6050000), +(2506905, 25, 'Itabaiana', -73.3167000, -35.3317000), +(2507002, 25, 'Itaporanga', -73.0202000, -38.1504000), +(2507101, 25, 'Itapororoca', -68.2374000, -35.2406000), +(2507200, 25, 'Itatuba', -73.8115000, -35.6380000), +(2507309, 25, 'Jacaraú', -66.1453000, -35.2890000), +(2507408, 25, 'Jericó', -65.4577000, -37.8036000), +(2507507, 25, 'João Pessoa', -7.1150000, -34.8631000), +(2507606, 25, 'Juarez Távora', -71.7130000, -35.5686000), +(2507705, 25, 'Juazeirinho', -70.6092000, -36.5793000), +(2507804, 25, 'Junco do Seridó', -69.9269000, -36.7166000), +(2507903, 25, 'Juripiranga', -73.6176000, -35.2321000), +(2508000, 25, 'Juru', -75.2983000, -37.8150000), +(2508109, 25, 'Lagoa', -65.8572000, -37.9127000), +(2508208, 25, 'Lagoa de Dentro', -66.7213000, -35.3706000), +(2508307, 25, 'Lagoa Seca', -71.5535000, -35.8491000), +(2508406, 25, 'Lastro', -65.0603000, -38.1742000), +(2508505, 25, 'Livramento', -73.7113000, -36.9491000), +(2508554, 25, 'Logradouro', -66.1191000, -35.4384000), +(2508604, 25, 'Lucena', -69.0258000, -34.8748000), +(2508703, 25, "Mãe d'Água", -72.5201000, -37.4322000), +(2508802, 25, 'Malta', -68.9719000, -37.5221000), +(2508901, 25, 'Mamanguape', -68.3370000, -35.1213000), +(2509008, 25, 'Manaíra', -77.0331000, -38.1523000), +(2509057, 25, 'Marcação', -67.6535000, -35.0087000), +(2509107, 25, 'Mari', -70.5942000, -35.3180000), +(2509156, 25, 'Marizópolis', -68.2748000, -38.3528000), +(2509206, 25, 'Massaranduba', -71.8995000, -35.7848000), +(2509305, 25, 'Mataraca', -6.5967300, -35.0531000), +(2509339, 25, 'Matinhas', -71.2486000, -35.7669000), +(2509370, 25, 'Mato Grosso', -65.4018000, -37.7279000), +(2509396, 25, 'Maturéia', -72.6188000, -37.3510000), +(2509404, 25, 'Mogeiro', -72.8517000, -35.4832000), +(2509503, 25, 'Montadas', -70.8848000, -35.9592000), +(2509602, 25, 'Monte Horebe', -72.0402000, -38.5838000), +(2509701, 25, 'Monteiro', -78.8363000, -37.1184000), +(2509800, 25, 'Mulungu', -70.2525000, -35.4600000), +(2509909, 25, 'Natuba', -76.3514000, -35.5586000), +(2510006, 25, 'Nazarezinho', -69.1140000, -38.3220000), +(2510105, 25, 'Nova Floresta', -64.5056000, -36.2057000), +(2510204, 25, 'Nova Olinda', -74.7232000, -38.0382000), +(2510303, 25, 'Nova Palmeira', -66.7122000, -36.4220000), +(2510402, 25, "Olho d'Água", -72.2118000, -37.7406000), +(2510501, 25, 'Olivedos', -69.8434000, -36.2410000), +(2510600, 25, 'Ouro Velho', -76.1604000, -37.1519000), +(2510659, 25, 'Parari', -73.0975000, -36.6522000), +(2510709, 25, 'Passagem', -71.3467000, -37.0433000), +(2510808, 25, 'Patos', -70.1743000, -37.2747000), +(2510907, 25, 'Paulista', -65.9138000, -37.6185000), +(2511004, 25, 'Pedra Branca', -74.2169000, -38.0689000), +(2511103, 25, 'Pedra Lavrada', -67.4997000, -36.4758000), +(2511202, 25, 'Pedras de Fogo', -73.9107000, -35.1065000), +(2511301, 25, 'Piancó', -71.9282000, -37.9289000), +(2511400, 25, 'Picuí', -65.0845000, -36.3497000), +(2511509, 25, 'Pilar', -72.6403000, -35.2523000), +(2511608, 25, 'Pilões', -68.6827000, -35.6130000), +(2511707, 25, 'Pilõezinhos', -68.4277000, -35.5310000), +(2511806, 25, 'Pirpirituba', -67.7922000, -35.4906000), +(2511905, 25, 'Pitimbu', -74.6640000, -34.8151000), +(2512002, 25, 'Pocinhos', -70.6658000, -36.0668000), +(2512036, 25, 'Poço Dantas', -63.9876000, -38.4909000), +(2512077, 25, 'Poço de José de Moura', -65.6401000, -38.5111000), +(2512101, 25, 'Pombal', -67.6606000, -37.8003000), +(2512200, 25, 'Prata', -76.8826000, -37.0801000), +(2512309, 25, 'Princesa Isabel', -77.3175000, -37.9886000), +(2512408, 25, 'Puxinanã', -71.5479000, -35.9543000), +(2512507, 25, 'Queimadas', -73.5029000, -35.9031000), +(2512606, 25, 'Quixabá', -70.2240000, -37.1458000), +(2512705, 25, 'Remígio', -69.4992000, -35.8011000), +(2512721, 25, 'Pedro Régis', -66.3323000, -35.2966000), +(2512747, 25, 'Riachão', -65.4269000, -35.6610000), +(2512754, 25, 'Riachão do Bacamarte', -72.5347000, -35.6693000), +(2512762, 25, 'Riachão do Poço', -71.4173000, -35.2914000), +(2512788, 25, 'Riacho de Santo Antônio', -76.8023000, -36.1570000), +(2512804, 25, 'Riacho dos Cavalos', -64.4067000, -37.6483000), +(2512903, 25, 'Rio Tinto', -68.0383000, -35.0776000), +(2513000, 25, 'Salgadinho', -71.0098000, -36.8458000), +(2513109, 25, 'Salgado de São Félix', -73.5337000, -35.4305000), +(2513158, 25, 'Santa Cecília', -77.3890000, -35.8764000), +(2513208, 25, 'Santa Cruz', -65.2370000, -38.0617000), +(2513307, 25, 'Santa Helena', -67.1760000, -38.6427000), +(2513356, 25, 'Santa Inês', -76.2100000, -38.5540000), +(2513406, 25, 'Santa Luzia', -68.6092000, -36.9178000), +(2513505, 25, 'Santana de Mangueira', -75.4705000, -38.3236000), +(2513604, 25, 'Santana dos Garrotes', -73.8162000, -37.9819000), +(2513653, 25, 'Joca Claudino', -64.8362000, -38.4764000), +(2513703, 25, 'Santa Rita', -7.1172400, -34.9753000), +(2513802, 25, 'Santa Teresinha', -70.7964000, -37.4435000), +(2513851, 25, 'Santo André', -72.2016000, -36.6213000), +(2513901, 25, 'São Bento', -64.8529000, -37.4488000), +(2513927, 25, 'São Bentinho', -68.8596000, -37.7243000), +(2513943, 25, 'São Domingos do Cariri', -76.3273000, -36.4374000), +(2513968, 25, 'São Domingos', -68.0313000, -37.9488000), +(2513984, 25, 'São Francisco', -66.0773000, -38.0968000), +(2514008, 25, 'São João do Cariri', -73.8168000, -36.5345000), +(2514107, 25, 'São João do Tigre', -80.7703000, -36.8547000), +(2514206, 25, 'São José da Lagoa Tapada', -69.3646000, -38.1622000), +(2514305, 25, 'São José de Caiana', -72.4636000, -38.2989000), +(2514404, 25, 'São José de Espinharas', -68.3974000, -37.3214000), +(2514453, 25, 'São José dos Ramos', -72.5238000, -35.3725000), +(2514503, 25, 'São José de Piranhas', -71.1870000, -38.5020000), +(2514552, 25, 'São José de Princesa', -77.3633000, -38.0894000), +(2514602, 25, 'São José do Bonfim', -71.6070000, -37.3036000), +(2514651, 25, 'São José do Brejo do Cruz', -62.1054000, -37.3601000), +(2514701, 25, 'São José do Sabugi', -67.6295000, -36.7972000), +(2514800, 25, 'São José dos Cordeiros', -73.8775000, -36.8085000), +(2514909, 25, 'São Mamede', -69.2386000, -37.0954000), +(2515005, 25, 'São Miguel de Taipu', -72.4764000, -35.2016000), +(2515104, 25, 'São Sebastião de Lagoa de Roça', -71.1034000, -35.8678000), +(2515203, 25, 'São Sebastião do Umbuzeiro', -81.5289000, -37.0138000), +(2515302, 25, 'Sapé', -70.9359000, -35.2280000), +(2515401, 25, 'São Vicente do Seridó', -68.5426000, -36.4122000), +(2515500, 25, 'Serra Branca', -74.8034000, -36.6660000), +(2515609, 25, 'Serra da Raiz', -66.8527000, -35.4379000), +(2515708, 25, 'Serra Grande', -72.0957000, -38.3647000), +(2515807, 25, 'Serra Redonda', -71.8622000, -35.6842000), +(2515906, 25, 'Serraria', -68.1569000, -35.6282000), +(2515930, 25, 'Sertãozinho', -67.5127000, -35.4372000), +(2515971, 25, 'Sobrado', -71.4429000, -35.2357000), +(2516003, 25, 'Solânea', -67.5161000, -35.6636000), +(2516102, 25, 'Soledade', -70.5829000, -36.3668000), +(2516151, 25, 'Sossêgo', -67.7067000, -36.2538000), +(2516201, 25, 'Sousa', -67.5148000, -38.2311000), +(2516300, 25, 'Sumé', -76.6206000, -36.8840000), +(2516409, 25, 'Tacima', -64.8759000, -35.6367000), +(2516508, 25, 'Taperoá', -72.0629000, -36.8245000), +(2516607, 25, 'Tavares', -76.2697000, -37.8712000), +(2516706, 25, 'Teixeira', -72.2104000, -37.2525000), +(2516755, 25, 'Tenório', -69.3855000, -36.6273000), +(2516805, 25, 'Triunfo', -65.7130000, -38.5986000), +(2516904, 25, 'Uiraúna', -65.1504000, -38.4128000), +(2517001, 25, 'Umbuzeiro', -76.9199000, -35.6582000), +(2517100, 25, 'Várzea', -67.6189000, -36.9913000), +(2517209, 25, 'Vieirópolis', -65.0684000, -38.2567000), +(2517407, 25, 'Zabelê', -80.7901000, -37.1057000), +(2600054, 26, 'Abreu e Lima', -79.0072000, -34.8984000), +(2600104, 26, 'Afogados da Ingazeira', -77.4312000, -37.6310000), +(2600203, 26, 'Afrânio', -85.1136000, -41.0095000), +(2600302, 26, 'Agrestina', -8.4596600, -35.9447000), +(2600401, 26, 'Água Preta', -87.0609000, -35.5263000), +(2600500, 26, 'Águas Belas', -91.1125000, -37.1226000), +(2600609, 26, 'Alagoinha', -84.6650000, -36.7788000), +(2600708, 26, 'Aliança', -76.0398000, -35.2227000), +(2600807, 26, 'Altinho', -84.8482000, -36.0644000), +(2600906, 26, 'Amaraji', -83.7691000, -35.4501000), +(2601003, 26, 'Angelim', -88.8429000, -36.2902000), +(2601052, 26, 'Araçoiaba', -77.8391000, -35.0809000), +(2601102, 26, 'Araripina', -75.7073000, -40.4940000), +(2601201, 26, 'Arcoverde', -84.1519000, -37.0577000), +(2601300, 26, 'Barra de Guabiraba', -84.2075000, -35.6585000), +(2601409, 26, 'Barreiros', -88.1605000, -35.1832000), +(2601508, 26, 'Belém de Maria', -86.2504000, -35.8335000), +(2601607, 26, 'Belém do São Francisco', -87.5046000, -38.9623000), +(2601706, 26, 'Belo Jardim', -83.3130000, -36.4258000), +(2601805, 26, 'Betânia', -82.6787000, -38.0345000), +(2601904, 26, 'Bezerros', -8.2333300, -35.7969400), +(2602001, 26, 'Bodocó', -77.7759000, -39.9338000), +(2602100, 26, 'Bom Conselho', -91.6919000, -36.6857000), +(2602209, 26, 'Bom Jardim', -77.9695000, -35.5784000), +(2602308, 26, 'Bonito', -8.4722200, -35.7297200), +(2602407, 26, 'Brejão', -90.2915000, -36.5660000), +(2602506, 26, 'Brejinho', -73.4694000, -37.2865000), +(2602605, 26, 'Brejo da Madre de Deus', -81.4933000, -36.3741000), +(2602704, 26, 'Buenos Aires', -77.2449000, -35.3182000), +(2602803, 26, 'Buíque', -86.1954000, -37.1606000), +(2602902, 26, 'Cabo de Santo Agostinho', -82.8218000, -35.0253000), +(2603009, 26, 'Cabrobó', -85.0548000, -39.3094000), +(2603108, 26, 'Cachoeirinha', -84.8668000, -36.2402000), +(2603207, 26, 'Caetés', -87.8030000, -36.6268000), +(2603306, 26, 'Calçado', -87.3108000, -36.3366000), +(2603405, 26, 'Calumbi', -79.3551000, -38.1482000), +(2603454, 26, 'Camaragibe', -80.2351000, -34.9782000), +(2603504, 26, 'Camocim de São Félix', -83.5865000, -35.7653000), +(2603603, 26, 'Camutanga', -74.0545000, -35.2664000), +(2603702, 26, 'Canhotinho', -88.7652000, -36.1979000), +(2603801, 26, 'Capoeiras', -87.3423000, -36.6306000), +(2603900, 26, 'Carnaíba', -77.9342000, -37.7946000), +(2603926, 26, 'Carnaubeira da Penha', -83.1799000, -38.7512000), +(2604007, 26, 'Carpina', -78.4566000, -35.2514000), +(2604106, 26, 'Caruaru', -82.8455000, -35.9699000), +(2604155, 26, 'Casinhas', -77.4084000, -35.7206000), +(2604205, 26, 'Catende', -86.7509000, -35.7024000), +(2604304, 26, 'Cedro', -77.1179000, -39.2367000), +(2604403, 26, 'Chã de Alegria', -80.0679000, -35.2040000), +(2604502, 26, 'Chã Grande', -82.3827000, -35.4571000), +(2604601, 26, 'Condado', -75.8787000, -35.0999000), +(2604700, 26, 'Correntes', -91.2117000, -36.3244000), +(2604809, 26, 'Cortês', -84.7443000, -35.5468000), +(2604908, 26, 'Cumaru', -80.0827000, -35.6957000), +(2605004, 26, 'Cupira', -86.2432000, -35.9518000), +(2605103, 26, 'Custódia', -80.8546000, -37.6443000), +(2605152, 26, 'Dormentes', -84.4116000, -40.7662000), +(2605202, 26, 'Escada', -83.5672000, -35.2241000), +(2605301, 26, 'Exu', -75.0364000, -39.7238000), +(2605400, 26, 'Feira Nova', -79.4704000, -35.3801000), +(2605459, 26, 'Fernando de Noronha', -38.3960000, -32.4107000), +(2605509, 26, 'Ferreiros', -74.4666000, -35.2373000), +(2605608, 26, 'Flores', -78.5842000, -37.9715000), +(2605707, 26, 'Floresta', -86.0307000, -38.5687000), +(2605806, 26, 'Frei Miguelinho', -79.3918000, -35.9113000), +(2605905, 26, 'Gameleira', -85.7980000, -35.3846000), +(2606002, 26, 'Garanhuns', -88.8243000, -36.4966000), +(2606101, 26, 'Glória do Goitá', -80.0568000, -35.2904000), +(2606200, 26, 'Goiana', -75.6060000, -34.9959000), +(2606309, 26, 'Granito', -77.0711000, -39.6150000), +(2606408, 26, 'Gravatá', -82.1118000, -35.5675000), +(2606507, 26, 'Iati', -90.4559000, -36.8498000), +(2606606, 26, 'Ibimirim', -85.4026000, -37.7032000), +(2606705, 26, 'Ibirajuba', -85.7633000, -36.1812000), +(2606804, 26, 'Igarassu', -78.2881000, -34.9013000), +(2606903, 26, 'Iguaracy', -78.3222000, -37.5082000), +(2607000, 26, 'Inajá', -89.0206000, -37.8351000), +(2607109, 26, 'Ingazeira', -76.6909000, -37.4576000), +(2607208, 26, 'Ipojuca', -83.9303000, -35.0609000), +(2607307, 26, 'Ipubi', -76.4505000, -40.1476000), +(2607406, 26, 'Itacuruba', -88.2231000, -38.6975000), +(2607505, 26, 'Itaíba', -89.4569000, -37.4173000), +(2607604, 26, 'Ilha de Itamaracá', -77.4766000, -34.8303000), +(2607653, 26, 'Itambé', -74.1403000, -35.0963000), +(2607703, 26, 'Itapetim', -73.7178000, -37.1863000), +(2607752, 26, 'Itapissuma', -77.6798000, -34.8971000), +(2607802, 26, 'Itaquitinga', -76.6373000, -35.1002000), +(2607901, 26, 'Jaboatão dos Guararapes', -81.1298000, -35.0150000), +(2607950, 26, 'Jaqueira', -8.7261800, -35.7942000), +(2608008, 26, 'Jataúba', -79.7668000, -36.4943000), +(2608057, 26, 'Jatobá', -91.7476000, -38.2607000), +(2608107, 26, 'João Alfredo', -78.6565000, -35.5787000), +(2608206, 26, 'Joaquim Nabuco', -86.2281000, -35.5288000), +(2608255, 26, 'Jucati', -87.0195000, -36.4871000), +(2608305, 26, 'Jupi', -87.0904000, -36.4126000), +(2608404, 26, 'Jurema', -87.0714000, -36.1347000), +(2608453, 26, 'Lagoa do Carro', -78.4383000, -35.3108000), +(2608503, 26, 'Lagoa de Itaenga', -79.3005000, -35.2874000), +(2608602, 26, 'Lagoa do Ouro', -91.2567000, -36.4584000), +(2608701, 26, 'Lagoa dos Gatos', -86.6020000, -35.9040000), +(2608750, 26, 'Lagoa Grande', -89.9452000, -40.2767000), +(2608800, 26, 'Lajedo', -86.5791000, -36.3293000), +(2608909, 26, 'Limoeiro', -78.7260000, -35.4402000), +(2609006, 26, 'Macaparana', -75.5564000, -35.4425000), +(2609105, 26, 'Machados', -76.8827000, -35.5114000), +(2609154, 26, 'Manari', -89.6490000, -37.6313000), +(2609204, 26, 'Maraial', -87.9062000, -35.8266000), +(2609303, 26, 'Mirandiba', -81.2113000, -38.7388000), +(2609402, 26, 'Moreno', -81.0871000, -35.0835000), +(2609501, 26, 'Nazaré da Mata', -77.4149000, -35.2193000), +(2609600, 26, 'Olinda', -80.1017000, -34.8545000), +(2609709, 26, 'Orobó', -77.4553000, -35.5956000), +(2609808, 26, 'Orocó', -86.1026000, -39.6026000), +(2609907, 26, 'Ouricuri', -78.7918000, -40.0800000), +(2610004, 26, 'Palmares', -86.8423000, -35.5890000), +(2610103, 26, 'Palmeirina', -90.1090000, -36.3242000), +(2610202, 26, 'Panelas', -86.6121000, -36.0125000), +(2610301, 26, 'Paranatama', -89.1875000, -36.6549000), +(2610400, 26, 'Parnamirim', -80.8729000, -39.5795000), +(2610509, 26, 'Passira', -79.9710000, -35.5813000), +(2610608, 26, 'Paudalho', -79.0287000, -35.1716000), +(2610707, 26, 'Paulista', -7.9408300, -34.8730600), +(2610806, 26, 'Pedra', -84.9641000, -36.9400000), +(2610905, 26, 'Pesqueira', -83.5797000, -36.6978000), +(2611002, 26, 'Petrolândia', -90.6863000, -38.3027000), +(2611101, 26, 'Petrolina', -93.8866000, -40.5027000), +(2611200, 26, 'Poção', -81.8726000, -36.7111000), +(2611309, 26, 'Pombos', -81.3982000, -35.3967000), +(2611408, 26, 'Primavera', -83.2999000, -35.3544000), +(2611507, 26, 'Quipapá', -88.1175000, -36.0137000), +(2611533, 26, 'Quixaba', -77.0734000, -37.8446000), +(2611606, 26, 'Recife', -80.4666000, -34.8771000), +(2611705, 26, 'Riacho das Almas', -81.3742000, -35.8648000), +(2611804, 26, 'Ribeirão', -85.0957000, -35.3698000), +(2611903, 26, 'Rio Formoso', -86.5920000, -35.1532000), +(2612000, 26, 'Sairé', -83.2864000, -35.6967000), +(2612109, 26, 'Salgadinho', -79.2690000, -35.6503000), +(2612208, 26, 'Salgueiro', -80.7373000, -39.1247000), +(2612307, 26, 'Saloá', -89.7230000, -36.6910000), +(2612406, 26, 'Sanharó', -83.6097000, -36.5696000), +(2612455, 26, 'Santa Cruz', -82.4153000, -40.3434000), +(2612471, 26, 'Santa Cruz da Baixa Verde', -78.1339000, -38.1476000), +(2612505, 26, 'Santa Cruz do Capibaribe', -79.4802000, -36.2061000), +(2612554, 26, 'Santa Filomena', -81.6688000, -40.6079000), +(2612604, 26, 'Santa Maria da Boa Vista', -87.9766000, -39.8241000), +(2612703, 26, 'Santa Maria do Cambucá', -78.3676000, -35.8941000), +(2612802, 26, 'Santa Terezinha', -73.7696000, -37.4787000), +(2612901, 26, 'São Benedito do Sul', -88.1660000, -35.9453000), +(2613008, 26, 'São Bento do Una', -85.2637000, -36.4465000), +(2613107, 26, 'São Caetano', -83.3763000, -36.2869000), +(2613206, 26, 'São João', -88.7576000, -36.3653000), +(2613305, 26, 'São Joaquim do Monte', -84.3196000, -35.8035000), +(2613404, 26, 'São José da Coroa Grande', -88.8937000, -35.1515000), +(2613503, 26, 'São José do Belmonte', -78.5723000, -38.7577000), +(2613602, 26, 'São José do Egito', -74.6945000, -37.2740000), +(2613701, 26, 'São Lourenço da Mata', -80.0684000, -35.0124000), +(2613800, 26, 'São Vicente Ferrer', -75.8969000, -35.4808000), +(2613909, 26, 'Serra Talhada', -79.8178000, -38.2890000), +(2614006, 26, 'Serrita', -79.4041000, -39.2951000), +(2614105, 26, 'Sertânia', -80.6847000, -37.2684000), +(2614204, 26, 'Sirinhaém', -85.8778000, -35.1126000), +(2614303, 26, 'Moreilândia', -76.1931000, -39.5460000), +(2614402, 26, 'Solidão', -75.9472000, -37.6445000), +(2614501, 26, 'Surubim', -78.4746000, -35.7481000), +(2614600, 26, 'Tabira', -75.8366000, -37.5377000), +(2614709, 26, 'Tacaimbó', -83.0867000, -36.3000000), +(2614808, 26, 'Tacaratu', -9.0979800, -38.1504000), +(2614857, 26, 'Tamandaré', -87.5665000, -35.1033000), +(2615003, 26, 'Taquaritinga do Norte', -78.9446000, -36.0423000), +(2615102, 26, 'Terezinha', -90.5621000, -36.6272000), +(2615201, 26, 'Terra Nova', -82.2244000, -39.3825000), +(2615300, 26, 'Timbaúba', -75.0484000, -35.3119000), +(2615409, 26, 'Toritama', -80.0955000, -36.0637000), +(2615508, 26, 'Tracunhaém', -78.0228000, -35.2314000), +(2615607, 26, 'Trindade', -77.5900000, -40.2647000), +(2615706, 26, 'Triunfo', -78.3272000, -38.0978000), +(2615805, 26, 'Tupanatinga', -87.4798000, -37.3445000), +(2615904, 26, 'Tuparetama', -76.0030000, -37.3165000), +(2616001, 26, 'Venturosa', -85.7885000, -36.8742000), +(2616100, 26, 'Verdejante', -79.2235000, -38.9701000), +(2616183, 26, 'Vertente do Lério', -77.7084000, -35.8491000), +(2616209, 26, 'Vertentes', -79.0158000, -35.9681000), +(2616308, 26, 'Vicência', -76.5655000, -35.3139000), +(2616407, 26, 'Vitória de Santo Antão', -81.2819000, -35.2976000), +(2616506, 26, 'Xexéu', -88.0460000, -35.6212000), +(2700102, 27, 'Água Branca', -92.6200000, -37.9380000), +(2700201, 27, 'Anadia', -96.8489000, -36.3078000), +(2700300, 27, 'Arapiraca', -97.5487000, -36.6615000), +(2700409, 27, 'Atalaia', -95.1190000, -36.0086000), +(2700508, 27, 'Barra de Santo Antônio', -94.0230000, -35.5101000), +(2700607, 27, 'Barra de São Miguel', -98.3842000, -35.9057000), +(2700706, 27, 'Batalha', -96.7420000, -37.1330000), +(2700805, 27, 'Belém', -95.7047000, -36.4904000), +(2700904, 27, 'Belo Monte', -98.2272000, -37.2770000), +(2701001, 27, 'Boca da Mata', -96.4308000, -36.2125000), +(2701100, 27, 'Branquinha', -92.3342000, -36.0162000), +(2701209, 27, 'Cacimbinhas', -94.0121000, -36.9911000), +(2701308, 27, 'Cajueiro', -93.9940000, -36.1559000), +(2701357, 27, 'Campestre', -88.4723000, -35.5685000), +(2701407, 27, 'Campo Alegre', -97.8451000, -36.3525000), +(2701506, 27, 'Campo Grande', -99.5542000, -36.7926000), +(2701605, 27, 'Canapi', -91.1932000, -37.5967000), +(2701704, 27, 'Capela', -94.1504000, -36.0826000), +(2701803, 27, 'Carneiros', -94.8476000, -37.3773000), +(2701902, 27, 'Chã Preta', -92.5560000, -36.2983000), +(2702009, 27, 'Coité do Nóia', -96.3348000, -36.5845000), +(2702108, 27, 'Colônia Leopoldina', -89.1806000, -35.7214000), +(2702207, 27, 'Coqueiro Seco', -96.3715000, -35.7994000), +(2702306, 27, 'Coruripe', -10.1276000, -36.1717000), +(2702355, 27, 'Craíbas', -96.1780000, -36.7697000), +(2702405, 27, 'Delmiro Gouveia', -93.8534000, -37.9987000), +(2702504, 27, 'Dois Riachos', -93.8465000, -37.0965000), +(2702553, 27, 'Estrela de Alagoas', -93.9089000, -36.7644000), +(2702603, 27, 'Feira Grande', -98.9859000, -36.6815000), +(2702702, 27, 'Feliz Deserto', -10.2935000, -36.3028000), +(2702801, 27, 'Flexeiras', -92.7281000, -35.7139000), +(2702900, 27, 'Girau do Ponciano', -98.8404000, -36.8316000), +(2703007, 27, 'Ibateguara', -89.7823000, -35.9373000), +(2703106, 27, 'Igaci', -95.3768000, -36.6372000), +(2703205, 27, 'Igreja Nova', -10.1235000, -36.6597000), +(2703304, 27, 'Inhapi', -92.2594000, -37.7509000), +(2703403, 27, 'Jacaré dos Homens', -96.3545000, -37.2076000), +(2703502, 27, 'Jacuípe', -88.3951000, -35.4591000), +(2703601, 27, 'Japaratinga', -90.8746000, -35.2634000), +(2703700, 27, 'Jaramataia', -96.6224000, -37.0046000), +(2703759, 27, 'Jequiá da Praia', -10.0133000, -36.0142000), +(2703809, 27, 'Joaquim Gomes', -91.3280000, -35.7474000), +(2703908, 27, 'Jundiá', -89.3297000, -35.5669000), +(2704005, 27, 'Junqueiro', -99.0696000, -36.4803000), +(2704104, 27, 'Lagoa da Canoa', -98.3291000, -36.7413000), +(2704203, 27, 'Limoeiro de Anadia', -97.4098000, -36.5121000), +(2704302, 27, 'Maceió', -9.6658300, -35.7352800), +(2704401, 27, 'Major Isidoro', -95.3009000, -36.9920000), +(2704500, 27, 'Maragogi', -90.0744000, -35.2267000), +(2704609, 27, 'Maravilha', -92.3045000, -37.3524000), +(2704708, 27, 'Marechal Deodoro', -97.0971000, -35.8967000), +(2704807, 27, 'Maribondo', -95.8353000, -36.3045000), +(2704906, 27, 'Mar Vermelho', -94.4739000, -36.3881000), +(2705002, 27, 'Mata Grande', -91.1824000, -37.7323000), +(2705101, 27, 'Matriz de Camaragibe', -91.5437000, -35.5243000), +(2705200, 27, 'Messias', -93.9384000, -35.8392000), +(2705309, 27, 'Minador do Negrão', -93.1236000, -36.8696000), +(2705408, 27, 'Monteirópolis', -96.0357000, -37.2505000), +(2705507, 27, 'Murici', -93.0682000, -35.9428000), +(2705606, 27, 'Novo Lino', -89.4191000, -35.6640000), +(2705705, 27, "Olho d'Água das Flores", -95.3686000, -37.2971000), +(2705804, 27, "Olho d'Água do Casado", -95.0357000, -37.8301000), +(2705903, 27, "Olho d'Água Grande", -10.0572000, -36.8101000), +(2706000, 27, 'Olivença', -95.1954000, -37.1954000), +(2706109, 27, 'Ouro Branco', -91.5884000, -37.3556000), +(2706208, 27, 'Palestina', -96.7493000, -37.3390000), +(2706307, 27, 'Palmeira dos Índios', -94.0568000, -36.6328000), +(2706406, 27, 'Pão de Açúcar', -97.4032000, -37.4403000), +(2706422, 27, 'Pariconha', -92.5634000, -37.9988000), +(2706448, 27, 'Paripueira', -94.6313000, -35.5520000), +(2706505, 27, 'Passo de Camaragibe', -92.4511000, -35.4745000), +(2706604, 27, 'Paulo Jacinto', -93.6792000, -36.3672000), +(2706703, 27, 'Penedo', -10.2874000, -36.5819000), +(2706802, 27, 'Piaçabuçu', -10.4060000, -36.4340000), +(2706901, 27, 'Pilar', -96.0135000, -35.9543000), +(2707008, 27, 'Pindoba', -94.7382000, -36.2918000), +(2707107, 27, 'Piranhas', -96.2400000, -37.7570000), +(2707206, 27, 'Poço das Trincheiras', -93.0742000, -37.2889000), +(2707305, 27, 'Porto Calvo', -90.5195000, -35.3987000), +(2707404, 27, 'Porto de Pedras', -91.6006000, -35.3049000), +(2707503, 27, 'Porto Real do Colégio', -10.1849000, -36.8376000), +(2707602, 27, 'Quebrangulo', -93.2001000, -36.4692000), +(2707701, 27, 'Rio Largo', -94.7783000, -35.8394000), +(2707800, 27, 'Roteiro', -98.3503000, -35.9782000), +(2707909, 27, 'Santa Luzia do Norte', -96.0370000, -35.8232000), +(2708006, 27, 'Santana do Ipanema', -93.6999000, -37.2480000), +(2708105, 27, 'Santana do Mundaú', -91.7141000, -36.2176000), +(2708204, 27, 'São Brás', -10.1141000, -36.8522000), +(2708303, 27, 'São José da Laje', -90.1278000, -36.0515000), +(2708402, 27, 'São José da Tapera', -95.5768000, -37.3831000), +(2708501, 27, 'São Luís do Quitunde', -93.1816000, -35.5606000), +(2708600, 27, 'São Miguel dos Campos', -97.8301000, -36.0971000), +(2708709, 27, 'São Miguel dos Milagres', -92.6493000, -35.3763000), +(2708808, 27, 'São Sebastião', -99.3043000, -36.5590000), +(2708907, 27, 'Satuba', -95.6911000, -35.8227000), +(2708956, 27, 'Senador Rui Palmeira', -94.6986000, -37.4576000), +(2709004, 27, "Tanque d'Arca", -95.3379000, -36.4366000), +(2709103, 27, 'Taquarana', -96.4529000, -36.4928000), +(2709152, 27, 'Teotônio Vilela', -99.1656000, -36.3492000), +(2709202, 27, 'Traipu', -99.6262000, -37.0071000), +(2709301, 27, 'União dos Palmares', -91.5921000, -36.0223000), +(2709400, 27, 'Viçosa', -93.6763000, -36.2431000), +(2800100, 28, 'Amparo de São Francisco', -10.1348000, -36.9350000), +(2800209, 28, 'Aquidabã', -10.2780000, -37.0148000), +(2800308, 28, 'Aracaju', -10.9091000, -37.0677000), +(2800407, 28, 'Arauá', -11.2614000, -37.6201000), +(2800506, 28, 'Areia Branca', -10.7580000, -37.3251000), +(2800605, 28, 'Barra dos Coqueiros', -10.8996000, -37.0323000), +(2800670, 28, 'Boquim', -11.1397000, -37.6195000), +(2800704, 28, 'Brejo Grande', -10.4297000, -36.4611000), +(2801009, 28, 'Campo do Brito', -10.7392000, -37.4954000), +(2801108, 28, 'Canhoba', -10.1365000, -36.9806000), +(2801207, 28, 'Canindé de São Francisco', -96.4882000, -37.7923000), +(2801306, 28, 'Capela', -10.5069000, -37.0628000), +(2801405, 28, 'Carira', -10.3524000, -37.7002000), +(2801504, 28, 'Carmópolis', -10.6449000, -36.9887000), +(2801603, 28, 'Cedro de São João', -10.2534000, -36.8856000), +(2801702, 28, 'Cristinápolis', -11.4668000, -37.7585000), +(2801900, 28, 'Cumbe', -10.3520000, -37.1846000), +(2802007, 28, 'Divina Pastora', -10.6782000, -37.1506000), +(2802106, 28, 'Estância', -11.2659000, -37.4484000), +(2802205, 28, 'Feira Nova', -10.2616000, -37.3147000), +(2802304, 28, 'Frei Paulo', -10.5513000, -37.5279000), +(2802403, 28, 'Gararu', -99.7220000, -37.0869000), +(2802502, 28, 'General Maynard', -10.6835000, -36.9838000), +(2802601, 28, 'Gracho Cardoso', -10.2252000, -37.2006000), +(2802700, 28, 'Ilha das Flores', -10.4425000, -36.5479000), +(2802809, 28, 'Indiaroba', -11.5157000, -37.5150000), +(2802908, 28, 'Itabaiana', -10.6826000, -37.4273000), +(2803005, 28, 'Itabaianinha', -11.2693000, -37.7875000), +(2803104, 28, 'Itabi', -10.1248000, -37.1056000), +(2803203, 28, "Itaporanga d'Ajuda", -10.9900000, -37.3078000), +(2803302, 28, 'Japaratuba', -10.5849000, -36.9418000), +(2803401, 28, 'Japoatã', -10.3477000, -36.8045000), +(2803500, 28, 'Lagarto', -10.9136000, -37.6689000), +(2803609, 28, 'Laranjeiras', -10.7981000, -37.1731000), +(2803708, 28, 'Macambira', -10.6619000, -37.5413000), +(2803807, 28, 'Malhada dos Bois', -10.3418000, -36.9252000), +(2803906, 28, 'Malhador', -10.6649000, -37.3004000), +(2804003, 28, 'Maruim', -10.7308000, -37.0856000), +(2804102, 28, 'Moita Bonita', -10.5769000, -37.3512000), +(2804201, 28, 'Monte Alegre de Sergipe', -10.0256000, -37.5616000), +(2804300, 28, 'Muribeca', -10.4271000, -36.9588000), +(2804409, 28, 'Neópolis', -10.3215000, -36.5850000), +(2804458, 28, 'Nossa Senhora Aparecida', -10.3944000, -37.4517000), +(2804508, 28, 'Nossa Senhora da Glória', -10.2158000, -37.4211000), +(2804607, 28, 'Nossa Senhora das Dores', -10.4854000, -37.1963000), +(2804706, 28, 'Nossa Senhora de Lourdes', -10.0772000, -37.0615000), +(2804805, 28, 'Nossa Senhora do Socorro', -10.8468000, -37.1231000), +(2804904, 28, 'Pacatuba', -10.4538000, -36.6531000), +(2805000, 28, 'Pedra Mole', -10.6134000, -37.6922000), +(2805109, 28, 'Pedrinhas', -11.1902000, -37.6775000), +(2805208, 28, 'Pinhão', -10.5677000, -37.7242000), +(2805307, 28, 'Pirambu', -10.7215000, -36.8544000), +(2805406, 28, 'Poço Redondo', -98.0616000, -37.6833000), +(2805505, 28, 'Poço Verde', -10.7151000, -38.1813000), +(2805604, 28, 'Porto da Folha', -99.1626000, -37.2842000), +(2805703, 28, 'Propriá', -10.2138000, -36.8442000), +(2805802, 28, 'Riachão do Dantas', -11.0729000, -37.7310000), +(2805901, 28, 'Riachuelo', -10.7350000, -37.1966000), +(2806008, 28, 'Ribeirópolis', -10.5357000, -37.4380000), +(2806107, 28, 'Rosário do Catete', -10.6904000, -37.0357000), +(2806206, 28, 'Salgado', -11.0288000, -37.4804000), +(2806305, 28, 'Santa Luzia do Itanhy', -11.3536000, -37.4586000), +(2806404, 28, 'Santana do São Francisco', -10.2922000, -36.6105000), +(2806503, 28, 'Santa Rosa de Lima', -10.6434000, -37.1931000), +(2806602, 28, 'Santo Amaro das Brotas', -10.7892000, -37.0564000), +(2806701, 28, 'São Cristóvão', -11.0084000, -37.2044000), +(2806800, 28, 'São Domingos', -10.7916000, -37.5685000), +(2806909, 28, 'São Francisco', -10.3442000, -36.8869000), +(2807006, 28, 'São Miguel do Aleixo', -10.3847000, -37.3836000), +(2807105, 28, 'Simão Dias', -10.7387000, -37.8097000), +(2807204, 28, 'Siriri', -10.5965000, -37.1131000), +(2807303, 28, 'Telha', -10.2064000, -36.8818000), +(2807402, 28, 'Tobias Barreto', -11.1798000, -37.9995000), +(2807501, 28, 'Tomar do Geru', -11.3694000, -37.8433000), +(2807600, 28, 'Umbaúba', -11.3809000, -37.6623000), +(2900108, 29, 'Abaíra', -13.2488000, -41.6619000), +(2900207, 29, 'Abaré', -87.2073000, -39.1162000), +(2900306, 29, 'Acajutiba', -11.6575000, -38.0197000), +(2900355, 29, 'Adustina', -10.5437000, -38.1113000), +(2900405, 29, 'Água Fria', -11.8618000, -38.7639000), +(2900504, 29, 'Érico Cardoso', -13.4215000, -42.1352000), +(2900603, 29, 'Aiquara', -14.1269000, -39.8937000), +(2900702, 29, 'Alagoinhas', -12.1335000, -38.4208000), +(2900801, 29, 'Alcobaça', -17.5195000, -39.2036000), +(2900900, 29, 'Almadina', -14.7089000, -39.6415000), +(2901007, 29, 'Amargosa', -13.0215000, -39.6020000), +(2901106, 29, 'Amélia Rodrigues', -12.3914000, -38.7563000), +(2901155, 29, 'América Dourada', -11.4429000, -41.4390000), +(2901205, 29, 'Anagé', -14.6151000, -41.1356000), +(2901304, 29, 'Andaraí', -12.8049000, -41.3297000), +(2901353, 29, 'Andorinha', -10.3482000, -39.8391000), +(2901403, 29, 'Angical', -12.0063000, -44.7003000), +(2901502, 29, 'Anguera', -12.1462000, -39.2462000), +(2901601, 29, 'Antas', -10.3856000, -38.3401000), +(2901700, 29, 'Antônio Cardoso', -12.4335000, -39.1176000), +(2901809, 29, 'Antônio Gonçalves', -10.5767000, -40.2785000), +(2901908, 29, 'Aporá', -11.6577000, -38.0814000), +(2901957, 29, 'Apuarema', -13.8542000, -39.7501000), +(2902005, 29, 'Aracatu', -14.4280000, -41.4648000), +(2902054, 29, 'Araças', -12.2200000, -38.2027000), +(2902104, 29, 'Araci', -11.3253000, -38.9584000), +(2902203, 29, 'Aramari', -12.0884000, -38.4969000), +(2902252, 29, 'Arataca', -15.2651000, -39.4190000), +(2902302, 29, 'Aratuípe', -13.0716000, -39.0038000), +(2902401, 29, 'Aurelino Leal', -14.3210000, -39.3290000), +(2902500, 29, 'Baianópolis', -12.3016000, -44.5388000), +(2902609, 29, 'Baixa Grande', -11.9519000, -40.1690000), +(2902658, 29, 'Banzaê', -10.5788000, -38.6212000), +(2902708, 29, 'Barra', -11.0859000, -43.1459000), +(2902807, 29, 'Barra da Estiva', -13.6237000, -41.3347000), +(2902906, 29, 'Barra do Choça', -14.8654000, -40.5791000), +(2903003, 29, 'Barra do Mendes', -11.8100000, -42.0590000), +(2903102, 29, 'Barra do Rocha', -14.2000000, -39.5991000), +(2903201, 29, 'Barreiras', -12.1439000, -44.9968000), +(2903235, 29, 'Barro Alto', -11.7605000, -41.9054000), +(2903276, 29, 'Barrocas', -11.5272000, -39.0776000), +(2903300, 29, 'Barro Preto', -14.7948000, -39.4760000), +(2903409, 29, 'Belmonte', -15.8608000, -38.8758000), +(2903508, 29, 'Belo Campo', -15.0334000, -41.2652000), +(2903607, 29, 'Biritinga', -11.6072000, -38.8051000), +(2903706, 29, 'Boa Nova', -14.3598000, -40.2064000), +(2903805, 29, 'Boa Vista do Tupim', -12.6498000, -40.6064000), +(2903904, 29, 'Bom Jesus da Lapa', -13.2506000, -43.4108000), +(2903953, 29, 'Bom Jesus da Serra', -14.3663000, -40.5126000), +(2904001, 29, 'Boninal', -12.7069000, -41.8286000), +(2904050, 29, 'Bonito', -11.9668000, -41.2647000), +(2904100, 29, 'Boquira', -12.8205000, -42.7324000), +(2904209, 29, 'Botuporã', -13.3772000, -42.5163000), +(2904308, 29, 'Brejões', -13.1039000, -39.7988000), +(2904407, 29, 'Brejolândia', -12.4815000, -43.9679000), +(2904506, 29, 'Brotas de Macaúbas', -11.9915000, -42.6326000), +(2904605, 29, 'Brumado', -14.2021000, -41.6696000), +(2904704, 29, 'Buerarema', -14.9595000, -39.3028000), +(2904753, 29, 'Buritirama', -10.7171000, -43.6302000), +(2904803, 29, 'Caatiba', -14.9699000, -40.4092000), +(2904852, 29, 'Cabaceiras do Paraguaçu', -12.5317000, -39.1902000), +(2904902, 29, 'Cachoeira', -12.5994000, -38.9587000), +(2905008, 29, 'Caculé', -14.5003000, -42.2229000), +(2905107, 29, 'Caém', -11.0677000, -40.4320000), +(2905156, 29, 'Caetanos', -14.3347000, -40.9175000), +(2905206, 29, 'Caetité', -14.0684000, -42.4861000), +(2905305, 29, 'Cafarnaum', -11.6914000, -41.4688000), +(2905404, 29, 'Cairu', -13.4904000, -39.0465000), +(2905503, 29, 'Caldeirão Grande', -11.0208000, -40.2956000), +(2905602, 29, 'Camacan', -15.4142000, -39.4919000), +(2905701, 29, 'Camaçari', -12.6996000, -38.3263000), +(2905800, 29, 'Camamu', -13.9398000, -39.1071000), +(2905909, 29, 'Campo Alegre de Lourdes', -95.2221000, -43.0126000), +(2906006, 29, 'Campo Formoso', -10.5105000, -40.3200000), +(2906105, 29, 'Canápolis', -13.0725000, -44.2010000), +(2906204, 29, 'Canarana', -11.6858000, -41.7677000), +(2906303, 29, 'Canavieiras', -15.6722000, -38.9536000), +(2906402, 29, 'Candeal', -11.8049000, -39.1203000), +(2906501, 29, 'Candeias', -12.6716000, -38.5472000), +(2906600, 29, 'Candiba', -14.4097000, -42.8667000), +(2906709, 29, 'Cândido Sales', -15.4993000, -41.2414000), +(2906808, 29, 'Cansanção', -10.6647000, -39.4944000), +(2906824, 29, 'Canudos', -99.0014000, -39.1471000), +(2906857, 29, 'Capela do Alto Alegre', -11.6658000, -39.8349000), +(2906873, 29, 'Capim Grosso', -11.3797000, -40.0089000), +(2906899, 29, 'Caraíbas', -14.7177000, -41.2603000), +(2906907, 29, 'Caravelas', -17.7268000, -39.2597000), +(2907004, 29, 'Cardeal da Silva', -11.9472000, -37.9469000), +(2907103, 29, 'Carinhanha', -14.2985000, -43.7724000), +(2907202, 29, 'Casa Nova', -91.6408000, -40.9740000), +(2907301, 29, 'Castro Alves', -12.7579000, -39.4248000), +(2907400, 29, 'Catolândia', -12.3100000, -44.8648000), +(2907509, 29, 'Catu', -12.3513000, -38.3791000), +(2907558, 29, 'Caturama', -13.3239000, -42.2904000), +(2907608, 29, 'Central', -11.1376000, -42.1116000), +(2907707, 29, 'Chorrochó', -89.6950000, -39.0979000), +(2907806, 29, 'Cícero Dantas', -10.5897000, -38.3794000), +(2907905, 29, 'Cipó', -11.1032000, -38.5179000), +(2908002, 29, 'Coaraci', -14.6370000, -39.5556000), +(2908101, 29, 'Cocos', -14.1814000, -44.5352000), +(2908200, 29, 'Conceição da Feira', -12.5078000, -38.9978000), +(2908309, 29, 'Conceição do Almeida', -12.7836000, -39.1715000), +(2908408, 29, 'Conceição do Coité', -11.5600000, -39.2808000), +(2908507, 29, 'Conceição do Jacuípe', -12.3268000, -38.7684000), +(2908606, 29, 'Conde', -11.8179000, -37.6131000), +(2908705, 29, 'Condeúba', -14.9022000, -41.9718000), +(2908804, 29, 'Contendas do Sincorá', -13.7537000, -41.0480000), +(2908903, 29, 'Coração de Maria', -12.2333000, -38.7487000), +(2909000, 29, 'Cordeiros', -15.0356000, -41.9308000), +(2909109, 29, 'Coribe', -13.8232000, -44.4586000), +(2909208, 29, 'Coronel João Sá', -10.2847000, -37.9198000), +(2909307, 29, 'Correntina', -13.3477000, -44.6333000), +(2909406, 29, 'Cotegipe', -12.0228000, -44.2566000), +(2909505, 29, 'Cravolândia', -13.3531000, -39.8031000), +(2909604, 29, 'Crisópolis', -11.5059000, -38.1515000), +(2909703, 29, 'Cristópolis', -12.2249000, -44.4214000), +(2909802, 29, 'Cruz das Almas', -12.6675000, -39.1008000), +(2909901, 29, 'Curaçá', -89.8458000, -39.8997000), +(2910008, 29, 'Dário Meira', -14.4229000, -39.9031000), +(2910057, 29, "Dias d'Ávila", -12.6187000, -38.2926000), +(2910107, 29, 'Dom Basílio', -13.7565000, -41.7677000), +(2910206, 29, 'Dom Macedo Costa', -12.9016000, -39.1923000), +(2910305, 29, 'Elísio Medrado', -12.9417000, -39.5191000), +(2910404, 29, 'Encruzilhada', -15.5302000, -40.9124000), +(2910503, 29, 'Entre Rios', -11.9392000, -38.0871000), +(2910602, 29, 'Esplanada', -11.7942000, -37.9432000), +(2910701, 29, 'Euclides da Cunha', -10.5078000, -39.0153000), +(2910727, 29, 'Eunápolis', -16.3715000, -39.5821000), +(2910750, 29, 'Fátima', -10.6160000, -38.2239000), +(2910776, 29, 'Feira da Mata', -14.2044000, -44.2744000), +(2910800, 29, 'Feira de Santana', -12.2664000, -38.9663000), +(2910859, 29, 'Filadélfia', -10.7405000, -40.1437000), +(2910909, 29, 'Firmino Alves', -14.9823000, -39.9269000), +(2911006, 29, 'Floresta Azul', -14.8629000, -39.6579000), +(2911105, 29, 'Formosa do Rio Preto', -11.0328000, -45.1930000), +(2911204, 29, 'Gandu', -13.7441000, -39.4747000), +(2911253, 29, 'Gavião', -11.4688000, -39.7757000), +(2911303, 29, 'Gentio do Ouro', -11.4342000, -42.5077000), +(2911402, 29, 'Glória', -93.4382000, -38.2544000), +(2911501, 29, 'Gongogi', -14.3195000, -39.4690000), +(2911600, 29, 'Governador Mangabeira', -12.5994000, -39.0412000), +(2911659, 29, 'Guajeru', -14.5467000, -41.9381000), +(2911709, 29, 'Guanambi', -14.2231000, -42.7799000), +(2911808, 29, 'Guaratinga', -16.5833000, -39.7847000), +(2911857, 29, 'Heliópolis', -10.6825000, -38.2907000), +(2911907, 29, 'Iaçu', -12.7666000, -40.2056000), +(2912004, 29, 'Ibiassucê', -14.2711000, -42.2570000), +(2912103, 29, 'Ibicaraí', -14.8579000, -39.5914000), +(2912202, 29, 'Ibicoara', -13.4059000, -41.2840000), +(2912301, 29, 'Ibicuí', -14.8450000, -39.9879000), +(2912400, 29, 'Ibipeba', -11.6438000, -42.0195000), +(2912509, 29, 'Ibipitanga', -12.8804000, -42.4856000), +(2912608, 29, 'Ibiquera', -12.6444000, -40.9338000), +(2912707, 29, 'Ibirapitanga', -14.1649000, -39.3787000), +(2912806, 29, 'Ibirapuã', -17.6832000, -40.1129000), +(2912905, 29, 'Ibirataia', -14.0643000, -39.6459000), +(2913002, 29, 'Ibitiara', -12.6502000, -42.2179000), +(2913101, 29, 'Ibititá', -11.5414000, -41.9748000), +(2913200, 29, 'Ibotirama', -12.1779000, -43.2167000), +(2913309, 29, 'Ichu', -11.7431000, -39.1905000), +(2913408, 29, 'Igaporã', -13.7740000, -42.7155000), +(2913457, 29, 'Igrapiúna', -13.8295000, -39.1361000), +(2913507, 29, 'Iguaí', -14.7528000, -40.0894000), +(2913606, 29, 'Ilhéus', -14.7930000, -39.0460000), +(2913705, 29, 'Inhambupe', -11.7810000, -38.3550000), +(2913804, 29, 'Ipecaetá', -12.3028000, -39.3069000), +(2913903, 29, 'Ipiaú', -14.1226000, -39.7353000), +(2914000, 29, 'Ipirá', -12.1561000, -39.7359000), +(2914109, 29, 'Ipupiara', -11.8219000, -42.6179000), +(2914208, 29, 'Irajuba', -13.2563000, -40.0848000), +(2914307, 29, 'Iramaia', -13.2902000, -40.9595000), +(2914406, 29, 'Iraquara', -12.2429000, -41.6155000), +(2914505, 29, 'Irará', -12.0504000, -38.7631000), +(2914604, 29, 'Irecê', -11.3033000, -41.8535000), +(2914653, 29, 'Itabela', -16.5732000, -39.5593000), +(2914703, 29, 'Itaberaba', -12.5242000, -40.3059000), +(2914802, 29, 'Itabuna', -14.7876000, -39.2781000), +(2914901, 29, 'Itacaré', -14.2784000, -38.9959000), +(2915007, 29, 'Itaeté', -12.9831000, -40.9677000), +(2915106, 29, 'Itagi', -14.1615000, -40.0131000), +(2915205, 29, 'Itagibá', -14.2782000, -39.8449000), +(2915304, 29, 'Itagimirim', -16.0819000, -39.6133000), +(2915353, 29, 'Itaguaçu da Bahia', -11.0147000, -42.3997000), +(2915403, 29, 'Itaju do Colônia', -15.1366000, -39.7283000), +(2915502, 29, 'Itajuípe', -14.6788000, -39.3698000), +(2915601, 29, 'Itamaraju', -17.0378000, -39.5386000), +(2915700, 29, 'Itamari', -13.7782000, -39.6830000), +(2915809, 29, 'Itambé', -15.2429000, -40.6300000), +(2915908, 29, 'Itanagra', -12.2614000, -38.0436000), +(2916005, 29, 'Itanhém', -17.1642000, -40.3321000), +(2916104, 29, 'Itaparica', -12.8932000, -38.6800000), +(2916203, 29, 'Itapé', -14.8876000, -39.4239000), +(2916302, 29, 'Itapebi', -15.9551000, -39.5329000), +(2916401, 29, 'Itapetinga', -15.2475000, -40.2482000), +(2916500, 29, 'Itapicuru', -11.3088000, -38.2262000), +(2916609, 29, 'Itapitanga', -14.4139000, -39.5657000), +(2916708, 29, 'Itaquara', -13.4459000, -39.9378000), +(2916807, 29, 'Itarantim', -15.6528000, -40.0650000), +(2916856, 29, 'Itatim', -12.7099000, -39.6952000), +(2916906, 29, 'Itiruçu', -13.5290000, -40.1472000), +(2917003, 29, 'Itiúba', -10.6948000, -39.8446000), +(2917102, 29, 'Itororó', -15.1100000, -40.0684000), +(2917201, 29, 'Ituaçu', -13.8107000, -41.3003000), +(2917300, 29, 'Ituberá', -13.7249000, -39.1481000), +(2917334, 29, 'Iuiú', -14.4054000, -43.5595000), +(2917359, 29, 'Jaborandi', -13.6071000, -44.4255000), +(2917409, 29, 'Jacaraci', -14.8541000, -42.4329000), +(2917508, 29, 'Jacobina', -11.1812000, -40.5117000), +(2917607, 29, 'Jaguaquara', -13.5248000, -39.9640000), +(2917706, 29, 'Jaguarari', -10.2569000, -40.1999000), +(2917805, 29, 'Jaguaripe', -13.1109000, -38.8939000), +(2917904, 29, 'Jandaíra', -11.5616000, -37.7853000), +(2918001, 29, 'Jequié', -13.8509000, -40.0877000), +(2918100, 29, 'Jeremoabo', -10.0685000, -38.3471000), +(2918209, 29, 'Jiquiriçá', -13.2621000, -39.5737000), +(2918308, 29, 'Jitaúna', -14.0131000, -39.8969000), +(2918357, 29, 'João Dourado', -11.3486000, -41.6548000), +(2918407, 29, 'Juazeiro', -9.4162200, -40.5033000), +(2918456, 29, 'Jucuruçu', -16.8488000, -40.1641000), +(2918506, 29, 'Jussara', -11.0431000, -41.9702000), +(2918555, 29, 'Jussari', -15.1920000, -39.4910000), +(2918605, 29, 'Jussiape', -13.5155000, -41.5882000), +(2918704, 29, 'Lafaiete Coutinho', -13.6541000, -40.2119000), +(2918753, 29, 'Lagoa Real', -14.0334000, -42.1328000), +(2918803, 29, 'Laje', -13.1673000, -39.4213000), +(2918902, 29, 'Lajedão', -17.6056000, -40.3383000), +(2919009, 29, 'Lajedinho', -12.3529000, -40.9048000), +(2919058, 29, 'Lajedo do Tabocal', -13.4663000, -40.2204000), +(2919108, 29, 'Lamarão', -11.7730000, -38.8870000), +(2919157, 29, 'Lapão', -11.3851000, -41.8286000), +(2919207, 29, 'Lauro de Freitas', -12.8978000, -38.3210000), +(2919306, 29, 'Lençóis', -12.5616000, -41.3928000), +(2919405, 29, 'Licínio de Almeida', -14.6842000, -42.5095000), +(2919504, 29, 'Livramento de Nossa Senhora', -13.6369000, -41.8432000), +(2919553, 29, 'Luís Eduardo Magalhães', -12.0956000, -45.7866000), +(2919603, 29, 'Macajuba', -12.1326000, -40.3571000), +(2919702, 29, 'Macarani', -15.5646000, -40.4209000), +(2919801, 29, 'Macaúbas', -13.0186000, -42.6945000), +(2919900, 29, 'Macururé', -91.6226000, -39.0518000), +(2919926, 29, 'Madre de Deus', -12.7446000, -38.6153000), +(2919959, 29, 'Maetinga', -14.6623000, -41.4915000), +(2920007, 29, 'Maiquinique', -15.6240000, -40.2587000), +(2920106, 29, 'Mairi', -11.7107000, -40.1437000), +(2920205, 29, 'Malhada', -14.3371000, -43.7686000), +(2920304, 29, 'Malhada de Pedras', -14.3847000, -41.8842000), +(2920403, 29, 'Manoel Vitorino', -14.1476000, -40.2399000), +(2920452, 29, 'Mansidão', -10.7227000, -44.0428000), +(2920502, 29, 'Maracás', -13.4355000, -40.4323000), +(2920601, 29, 'Maragogipe', -12.7760000, -38.9175000), +(2920700, 29, 'Maraú', -14.1035000, -39.0137000), +(2920809, 29, 'Marcionílio Souza', -13.0064000, -40.5295000), +(2920908, 29, 'Mascote', -15.5542000, -39.3016000), +(2921005, 29, 'Mata de São João', -12.5307000, -38.3009000), +(2921054, 29, 'Matina', -13.9109000, -42.8439000), +(2921104, 29, 'Medeiros Neto', -17.3707000, -40.2238000), +(2921203, 29, 'Miguel Calmon', -11.4299000, -40.6031000), +(2921302, 29, 'Milagres', -12.8646000, -39.8611000), +(2921401, 29, 'Mirangaba', -10.9610000, -40.5740000), +(2921450, 29, 'Mirante', -14.2385000, -40.7718000), +(2921500, 29, 'Monte Santo', -10.4374000, -39.3321000), +(2921609, 29, 'Morpará', -11.5569000, -43.2766000), +(2921708, 29, 'Morro do Chapéu', -11.5488000, -41.1565000), +(2921807, 29, 'Mortugaba', -15.0225000, -42.3727000), +(2921906, 29, 'Mucugê', -13.0053000, -41.3703000), +(2922003, 29, 'Mucuri', -18.0754000, -39.5565000), +(2922052, 29, 'Mulungu do Morro', -11.9648000, -41.6374000), +(2922102, 29, 'Mundo Novo', -11.8541000, -40.4714000), +(2922201, 29, 'Muniz Ferreira', -13.0092000, -39.1092000), +(2922250, 29, 'Muquém de São Francisco', -12.0650000, -43.5497000), +(2922300, 29, 'Muritiba', -12.6329000, -38.9921000), +(2922409, 29, 'Mutuípe', -13.2284000, -39.5044000), +(2922508, 29, 'Nazaré', -13.0235000, -39.0108000), +(2922607, 29, 'Nilo Peçanha', -13.6040000, -39.1091000), +(2922656, 29, 'Nordestina', -10.8192000, -39.4297000), +(2922706, 29, 'Nova Canaã', -14.7912000, -40.1458000), +(2922730, 29, 'Nova Fátima', -11.6031000, -39.6302000), +(2922755, 29, 'Nova Ibiá', -13.8120000, -39.6182000), +(2922805, 29, 'Nova Itarana', -13.0241000, -40.0653000), +(2922854, 29, 'Nova Redenção', -12.8150000, -41.0748000), +(2922904, 29, 'Nova Soure', -11.2329000, -38.4871000), +(2923001, 29, 'Nova Viçosa', -17.8926000, -39.3743000), +(2923035, 29, 'Novo Horizonte', -12.8083000, -42.1682000), +(2923050, 29, 'Novo Triunfo', -10.3182000, -38.4014000), +(2923100, 29, 'Olindina', -11.3497000, -38.3379000), +(2923209, 29, 'Oliveira dos Brejinhos', -12.3132000, -42.8969000), +(2923308, 29, 'Ouriçangas', -12.0175000, -38.6166000), +(2923357, 29, 'Ourolândia', -10.9578000, -41.0756000), +(2923407, 29, 'Palmas de Monte Alto', -14.2676000, -43.1609000), +(2923506, 29, 'Palmeiras', -12.5059000, -41.5809000), +(2923605, 29, 'Paramirim', -13.4388000, -42.2395000), +(2923704, 29, 'Paratinga', -12.6870000, -43.1798000), +(2923803, 29, 'Paripiranga', -10.6859000, -37.8626000), +(2923902, 29, 'Pau Brasil', -15.4572000, -39.6458000), +(2924009, 29, 'Paulo Afonso', -93.9830000, -38.2216000), +(2924058, 29, 'Pé de Serra', -11.8313000, -39.6110000), +(2924108, 29, 'Pedrão', -12.1491000, -38.6487000), +(2924207, 29, 'Pedro Alexandre', -10.0120000, -37.8932000), +(2924306, 29, 'Piatã', -13.1465000, -41.7702000), +(2924405, 29, 'Pilão Arcado', -10.0051000, -42.4936000), +(2924504, 29, 'Pindaí', -14.4921000, -42.6860000), +(2924603, 29, 'Pindobaçu', -10.7433000, -40.3675000), +(2924652, 29, 'Pintadas', -11.8117000, -39.9009000), +(2924678, 29, 'Piraí do Norte', -13.7590000, -39.3836000), +(2924702, 29, 'Piripá', -14.9444000, -41.7168000), +(2924801, 29, 'Piritiba', -11.7300000, -40.5587000), +(2924900, 29, 'Planaltino', -13.2618000, -40.3695000), +(2925006, 29, 'Planalto', -14.6654000, -40.4718000), +(2925105, 29, 'Poções', -14.5234000, -40.3634000), +(2925204, 29, 'Pojuca', -12.4303000, -38.3374000), +(2925253, 29, 'Ponto Novo', -10.8653000, -40.1311000), +(2925303, 29, 'Porto Seguro', -16.4435000, -39.0643000), +(2925402, 29, 'Potiraguá', -15.5943000, -39.8638000), +(2925501, 29, 'Prado', -17.3364000, -39.2227000), +(2925600, 29, 'Presidente Dutra', -11.2923000, -41.9843000), +(2925709, 29, 'Presidente Jânio Quadros', -14.6885000, -41.6798000), +(2925758, 29, 'Presidente Tancredo Neves', -13.4471000, -39.4203000), +(2925808, 29, 'Queimadas', -10.9736000, -39.6293000), +(2925907, 29, 'Quijingue', -10.7505000, -39.2137000), +(2925931, 29, 'Quixabeira', -11.4031000, -40.1200000), +(2925956, 29, 'Rafael Jambeiro', -12.4053000, -39.5007000), +(2926004, 29, 'Remanso', -96.1944000, -42.0848000), +(2926103, 29, 'Retirolândia', -11.4832000, -39.4234000), +(2926202, 29, 'Riachão das Neves', -11.7508000, -44.9143000), +(2926301, 29, 'Riachão do Jacuípe', -11.8067000, -39.3818000), +(2926400, 29, 'Riacho de Santana', -13.6059000, -42.9397000), +(2926509, 29, 'Ribeira do Amparo', -11.0421000, -38.4242000), +(2926608, 29, 'Ribeira do Pombal', -10.8373000, -38.5382000), +(2926657, 29, 'Ribeirão do Largo', -15.4508000, -40.7441000), +(2926707, 29, 'Rio de Contas', -13.5852000, -41.8048000), +(2926806, 29, 'Rio do Antônio', -14.4071000, -42.0721000), +(2926905, 29, 'Rio do Pires', -13.1185000, -42.2902000), +(2927002, 29, 'Rio Real', -11.4814000, -37.9332000), +(2927101, 29, 'Rodelas', -88.5021000, -38.7800000), +(2927200, 29, 'Ruy Barbosa', -12.2816000, -40.4931000), +(2927309, 29, 'Salinas da Margarida', -12.8730000, -38.7562000), +(2927408, 29, 'Salvador', -12.9718000, -38.5011000), +(2927507, 29, 'Santa Bárbara', -11.9515000, -38.9681000), +(2927606, 29, 'Santa Brígida', -97.3227000, -38.1209000), +(2927705, 29, 'Santa Cruz Cabrália', -16.2825000, -39.0295000), +(2927804, 29, 'Santa Cruz da Vitória', -14.9640000, -39.8115000), +(2927903, 29, 'Santa Inês', -13.2793000, -39.8140000), +(2928000, 29, 'Santaluz', -11.2508000, -39.3750000), +(2928059, 29, 'Santa Luzia', -15.4342000, -39.3287000), +(2928109, 29, 'Santa Maria da Vitória', -13.3859000, -44.2011000), +(2928208, 29, 'Santana', -12.9792000, -44.0506000), +(2928307, 29, 'Santanópolis', -12.0311000, -38.8694000), +(2928406, 29, 'Santa Rita de Cássia', -11.0063000, -44.5255000), +(2928505, 29, 'Santa Teresinha', -12.7697000, -39.5215000), +(2928604, 29, 'Santo Amaro', -12.5472000, -38.7137000), +(2928703, 29, 'Santo Antônio de Jesus', -12.9614000, -39.2584000), +(2928802, 29, 'Santo Estêvão', -12.4280000, -39.2505000), +(2928901, 29, 'São Desidério', -12.3572000, -44.9769000), +(2928950, 29, 'São Domingos', -11.4649000, -39.5268000), +(2929008, 29, 'São Félix', -12.6104000, -38.9727000), +(2929057, 29, 'São Félix do Coribe', -13.4019000, -44.1837000), +(2929107, 29, 'São Felipe', -12.8394000, -39.0893000), +(2929206, 29, 'São Francisco do Conde', -12.6183000, -38.6786000), +(2929255, 29, 'São Gabriel', -11.2175000, -41.8843000), +(2929305, 29, 'São Gonçalo dos Campos', -12.4331000, -38.9663000), +(2929354, 29, 'São José da Vitória', -15.0787000, -39.3437000), +(2929370, 29, 'São José do Jacuípe', -11.4137000, -39.8669000), +(2929404, 29, 'São Miguel das Matas', -13.0434000, -39.4578000), +(2929503, 29, 'São Sebastião do Passé', -12.5123000, -38.4905000), +(2929602, 29, 'Sapeaçu', -12.7208000, -39.1824000), +(2929701, 29, 'Sátiro Dias', -11.5929000, -38.5938000), +(2929750, 29, 'Saubara', -12.7387000, -38.7625000), +(2929800, 29, 'Saúde', -10.9428000, -40.4155000), +(2929909, 29, 'Seabra', -12.4169000, -41.7722000), +(2930006, 29, 'Sebastião Laranjeiras', -14.5710000, -42.9434000), +(2930105, 29, 'Senhor do Bonfim', -10.4594000, -40.1865000), +(2930154, 29, 'Serra do Ramalho', -13.5659000, -43.5929000), +(2930204, 29, 'Sento Sé', -97.4138000, -41.8786000), +(2930303, 29, 'Serra Dourada', -12.7590000, -43.9504000), +(2930402, 29, 'Serra Preta', -12.1560000, -39.3305000), +(2930501, 29, 'Serrinha', -11.6584000, -39.0100000), +(2930600, 29, 'Serrolândia', -11.4085000, -40.2983000), +(2930709, 29, 'Simões Filho', -12.7866000, -38.4029000), +(2930758, 29, 'Sítio do Mato', -13.0801000, -43.4689000), +(2930766, 29, 'Sítio do Quinto', -10.3545000, -38.2213000), +(2930774, 29, 'Sobradinho', -94.5024000, -40.8145000), +(2930808, 29, 'Souto Soares', -12.0880000, -41.6427000), +(2930907, 29, 'Tabocas do Brejo Velho', -12.7026000, -44.0075000), +(2931004, 29, 'Tanhaçu', -14.0197000, -41.2473000), +(2931053, 29, 'Tanque Novo', -13.5485000, -42.4934000), +(2931103, 29, 'Tanquinho', -11.9680000, -39.1033000), +(2931202, 29, 'Taperoá', -13.5321000, -39.1009000), +(2931301, 29, 'Tapiramutá', -11.8475000, -40.7927000), +(2931350, 29, 'Teixeira de Freitas', -17.5399000, -39.7400000), +(2931400, 29, 'Teodoro Sampaio', -12.2950000, -38.6347000), +(2931509, 29, 'Teofilândia', -11.4827000, -38.9913000), +(2931608, 29, 'Teolândia', -13.5896000, -39.4840000), +(2931707, 29, 'Terra Nova', -12.3888000, -38.6238000), +(2931806, 29, 'Tremedal', -14.9736000, -41.4142000), +(2931905, 29, 'Tucano', -10.9584000, -38.7894000), +(2932002, 29, 'Uauá', -98.3325000, -39.4794000), +(2932101, 29, 'Ubaíra', -13.2714000, -39.6660000), +(2932200, 29, 'Ubaitaba', -14.3030000, -39.3222000), +(2932309, 29, 'Ubatã', -14.2063000, -39.5207000), +(2932408, 29, 'Uibaí', -11.3394000, -42.1354000), +(2932457, 29, 'Umburanas', -10.7339000, -41.3234000), +(2932507, 29, 'Una', -15.2791000, -39.0765000), +(2932606, 29, 'Urandi', -14.7678000, -42.6498000), +(2932705, 29, 'Uruçuca', -14.5963000, -39.2851000), +(2932804, 29, 'Utinga', -12.0783000, -41.0954000), +(2932903, 29, 'Valença', -13.3669000, -39.0730000), +(2933000, 29, 'Valente', -11.4062000, -39.4570000), +(2933059, 29, 'Várzea da Roça', -11.6005000, -40.1328000), +(2933109, 29, 'Várzea do Poço', -11.5273000, -40.3149000), +(2933158, 29, 'Várzea Nova', -11.2557000, -40.9432000), +(2933174, 29, 'Varzedo', -12.9672000, -39.3919000), +(2933208, 29, 'Vera Cruz', -12.9568000, -38.6153000), +(2933257, 29, 'Vereda', -17.2183000, -40.0974000), +(2933307, 29, 'Vitória da Conquista', -14.8615000, -40.8442000), +(2933406, 29, 'Wagner', -12.2819000, -41.1715000), +(2933455, 29, 'Wanderley', -12.1144000, -43.8958000), +(2933505, 29, 'Wenceslau Guimarães', -13.6908000, -39.4762000), +(2933604, 29, 'Xique-Xique', -10.8230000, -42.7245000), +(3100104, 31, 'Abadia dos Dourados', -18.4831000, -47.3916000), +(3100203, 31, 'Abaeté', -19.1551000, -45.4444000), +(3100302, 31, 'Abre Campo', -20.2996000, -42.4743000), +(3100401, 31, 'Acaiaca', -20.3590000, -43.1439000), +(3100500, 31, 'Açucena', -19.0671000, -42.5419000), +(3100609, 31, 'Água Boa', -17.9914000, -42.3806000), +(3100708, 31, 'Água Comprida', -20.0576000, -48.1069000), +(3100807, 31, 'Aguanil', -20.9439000, -45.3915000), +(3100906, 31, 'Águas Formosas', -17.0802000, -40.9384000), +(3101003, 31, 'Águas Vermelhas', -15.7431000, -41.4571000), +(3101102, 31, 'Aimorés', -19.5007000, -41.0746000), +(3101201, 31, 'Aiuruoca', -21.9736000, -44.6042000), +(3101300, 31, 'Alagoa', -22.1710000, -44.6413000), +(3101409, 31, 'Albertina', -22.2018000, -46.6139000), +(3101508, 31, 'Além Paraíba', -21.8797000, -42.7176000), +(3101607, 31, 'Alfenas', -21.4256000, -45.9477000), +(3101631, 31, 'Alfredo Vasconcelos', -21.1535000, -43.7718000), +(3101706, 31, 'Almenara', -16.1785000, -40.6942000), +(3101805, 31, 'Alpercata', -18.9740000, -41.9700000), +(3101904, 31, 'Alpinópolis', -20.8631000, -46.3878000), +(3102001, 31, 'Alterosa', -21.2488000, -46.1387000), +(3102050, 31, 'Alto Caparaó', -20.4310000, -41.8738000), +(3102100, 31, 'Alto Rio Doce', -21.0281000, -43.4067000), +(3102209, 31, 'Alvarenga', -19.4174000, -41.7317000), +(3102308, 31, 'Alvinópolis', -20.1098000, -43.0535000), +(3102407, 31, 'Alvorada de Minas', -18.7334000, -43.3638000), +(3102506, 31, 'Amparo do Serra', -20.5051000, -42.8009000), +(3102605, 31, 'Andradas', -22.0695000, -46.5724000), +(3102704, 31, 'Cachoeira de Pajeú', -15.9688000, -41.4948000), +(3102803, 31, 'Andrelândia', -21.7411000, -44.3117000), +(3102852, 31, 'Angelândia', -17.7279000, -42.2641000), +(3102902, 31, 'Antônio Carlos', -21.3210000, -43.7451000), +(3103009, 31, 'Antônio Dias', -19.6491000, -42.8732000), +(3103108, 31, 'Antônio Prado de Minas', -21.0192000, -42.1109000), +(3103207, 31, 'Araçaí', -19.1955000, -44.2493000), +(3103306, 31, 'Aracitaba', -21.3446000, -43.3736000), +(3103405, 31, 'Araçuaí', -16.8523000, -42.0637000), +(3103504, 31, 'Araguari', -18.6456000, -48.1934000), +(3103603, 31, 'Arantina', -21.9102000, -44.2555000), +(3103702, 31, 'Araponga', -20.6686000, -42.5178000), +(3103751, 31, 'Araporã', -18.4357000, -49.1847000), +(3103801, 31, 'Arapuá', -19.0268000, -46.1484000), +(3103900, 31, 'Araújos', -19.9405000, -45.1671000), +(3104007, 31, 'Araxá', -19.5902000, -46.9438000), +(3104106, 31, 'Arceburgo', -21.3590000, -46.9401000), +(3104205, 31, 'Arcos', -20.2863000, -45.5373000), +(3104304, 31, 'Areado', -21.3572000, -46.1421000), +(3104403, 31, 'Argirita', -21.6083000, -42.8292000), +(3104452, 31, 'Aricanduva', -17.8666000, -42.5533000), +(3104502, 31, 'Arinos', -15.9187000, -46.1043000), +(3104601, 31, 'Astolfo Dutra', -21.3184000, -42.8572000), +(3104700, 31, 'Ataléia', -18.0438000, -41.1149000), +(3104809, 31, 'Augusto de Lima', -18.0997000, -44.2655000), +(3104908, 31, 'Baependi', -21.9570000, -44.8874000), +(3105004, 31, 'Baldim', -19.2832000, -43.9613000), +(3105103, 31, 'Bambuí', -20.0166000, -45.9754000), +(3105202, 31, 'Bandeira', -15.8783000, -40.5622000), +(3105301, 31, 'Bandeira do Sul', -21.7308000, -46.3833000), +(3105400, 31, 'Barão de Cocais', -19.9389000, -43.4755000), +(3105509, 31, 'Barão de Monte Alto', -21.2444000, -42.2372000), +(3105608, 31, 'Barbacena', -21.2214000, -43.7703000), +(3105707, 31, 'Barra Longa', -20.2869000, -43.0402000), +(3105905, 31, 'Barroso', -21.1907000, -43.9720000), +(3106002, 31, 'Bela Vista de Minas', -19.8302000, -43.0922000), +(3106101, 31, 'Belmiro Braga', -21.9440000, -43.4084000), +(3106200, 31, 'Belo Horizonte', -19.9102000, -43.9266000), +(3106309, 31, 'Belo Oriente', -19.2199000, -42.4828000), +(3106408, 31, 'Belo Vale', -20.4077000, -44.0275000), +(3106507, 31, 'Berilo', -16.9567000, -42.4606000), +(3106606, 31, 'Bertópolis', -17.0590000, -40.5800000), +(3106655, 31, 'Berizal', -15.6100000, -41.7432000), +(3106705, 31, 'Betim', -19.9668000, -44.2008000), +(3106804, 31, 'Bias Fortes', -21.6020000, -43.7574000), +(3106903, 31, 'Bicas', -21.7232000, -43.0560000), +(3107000, 31, 'Biquinhas', -18.7754000, -45.4974000), +(3107109, 31, 'Boa Esperança', -21.0927000, -45.5612000), +(3107208, 31, 'Bocaina de Minas', -22.1697000, -44.3972000), +(3107307, 31, 'Bocaiúva', -17.1135000, -43.8104000), +(3107406, 31, 'Bom Despacho', -19.7386000, -45.2622000), +(3107505, 31, 'Bom Jardim de Minas', -21.9479000, -44.1885000), +(3107604, 31, 'Bom Jesus da Penha', -21.0148000, -46.5174000), +(3107703, 31, 'Bom Jesus do Amparo', -19.7054000, -43.4782000), +(3107802, 31, 'Bom Jesus do Galho', -19.8360000, -42.3165000), +(3107901, 31, 'Bom Repouso', -22.4675000, -46.1440000), +(3108008, 31, 'Bom Sucesso', -21.0329000, -44.7537000), +(3108107, 31, 'Bonfim', -20.3302000, -44.2366000), +(3108206, 31, 'Bonfinópolis de Minas', -16.5680000, -45.9839000), +(3108255, 31, 'Bonito de Minas', -15.3231000, -44.7543000), +(3108305, 31, 'Borda da Mata', -22.2707000, -46.1653000), +(3108404, 31, 'Botelhos', -21.6412000, -46.3910000), +(3108503, 31, 'Botumirim', -16.8657000, -43.0086000), +(3108552, 31, 'Brasilândia de Minas', -16.9999000, -46.0081000), +(3108602, 31, 'Brasília de Minas', -16.2104000, -44.4299000), +(3108701, 31, 'Brás Pires', -20.8419000, -43.2406000), +(3108800, 31, 'Braúnas', -19.0562000, -42.7099000), +(3108909, 31, 'Brazópolis', -22.4743000, -45.6166000), +(3109006, 31, 'Brumadinho', -20.1510000, -44.2007000), +(3109105, 31, 'Bueno Brandão', -22.4383000, -46.3491000), +(3109204, 31, 'Buenópolis', -17.8744000, -44.1775000), +(3109253, 31, 'Bugre', -19.4231000, -42.2552000), +(3109303, 31, 'Buritis', -15.6218000, -46.4221000), +(3109402, 31, 'Buritizeiro', -17.3656000, -44.9606000), +(3109451, 31, 'Cabeceira Grande', -16.0335000, -47.0862000), +(3109501, 31, 'Cabo Verde', -21.4699000, -46.3919000), +(3109600, 31, 'Cachoeira da Prata', -19.5210000, -44.4544000), +(3109709, 31, 'Cachoeira de Minas', -22.3511000, -45.7809000), +(3109808, 31, 'Cachoeira Dourada', -18.5161000, -49.5039000), +(3109907, 31, 'Caetanópolis', -19.2971000, -44.4189000), +(3110004, 31, 'Caeté', -19.8826000, -43.6704000), +(3110103, 31, 'Caiana', -20.6956000, -41.9292000), +(3110202, 31, 'Cajuri', -20.7903000, -42.7925000), +(3110301, 31, 'Caldas', -21.9183000, -46.3843000), +(3110400, 31, 'Camacho', -20.6294000, -45.1593000), +(3110509, 31, 'Camanducaia', -22.7515000, -46.1494000), +(3110608, 31, 'Cambuí', -22.6115000, -46.0572000), +(3110707, 31, 'Cambuquira', -21.8540000, -45.2896000), +(3110806, 31, 'Campanário', -18.2427000, -41.7355000), +(3110905, 31, 'Campanha', -21.8360000, -45.4004000), +(3111002, 31, 'Campestre', -21.7079000, -46.2381000), +(3111101, 31, 'Campina Verde', -19.5382000, -49.4862000), +(3111150, 31, 'Campo Azul', -16.5028000, -44.8096000), +(3111200, 31, 'Campo Belo', -20.8932000, -45.2699000), +(3111309, 31, 'Campo do Meio', -21.1127000, -45.8273000), +(3111408, 31, 'Campo Florido', -19.7631000, -48.5716000), +(3111507, 31, 'Campos Altos', -19.6914000, -46.1725000), +(3111606, 31, 'Campos Gerais', -21.2370000, -45.7569000), +(3111705, 31, 'Canaã', -20.6869000, -42.6167000), +(3111804, 31, 'Canápolis', -18.7212000, -49.2035000), +(3111903, 31, 'Cana Verde', -21.0232000, -45.1801000), +(3112000, 31, 'Candeias', -20.7692000, -45.2765000), +(3112059, 31, 'Cantagalo', -18.5248000, -42.6223000), +(3112109, 31, 'Caparaó', -20.5289000, -41.9061000), +(3112208, 31, 'Capela Nova', -20.9179000, -43.6220000), +(3112307, 31, 'Capelinha', -17.6888000, -42.5147000), +(3112406, 31, 'Capetinga', -20.6163000, -47.0571000), +(3112505, 31, 'Capim Branco', -19.5471000, -44.1304000), +(3112604, 31, 'Capinópolis', -18.6862000, -49.5706000), +(3112653, 31, 'Capitão Andrade', -19.0748000, -41.8614000), +(3112703, 31, 'Capitão Enéas', -16.3265000, -43.7084000), +(3112802, 31, 'Capitólio', -20.6164000, -46.0493000), +(3112901, 31, 'Caputira', -20.1703000, -42.2683000), +(3113008, 31, 'Caraí', -17.1862000, -41.7004000), +(3113107, 31, 'Caranaíba', -20.8707000, -43.7417000), +(3113206, 31, 'Carandaí', -20.9566000, -43.8110000), +(3113305, 31, 'Carangola', -20.7343000, -42.0313000), +(3113404, 31, 'Caratinga', -19.7868000, -42.1292000), +(3113503, 31, 'Carbonita', -17.5255000, -43.0137000), +(3113602, 31, 'Careaçu', -22.0424000, -45.6960000), +(3113701, 31, 'Carlos Chagas', -17.6973000, -40.7723000), +(3113800, 31, 'Carmésia', -19.0877000, -43.1382000), +(3113909, 31, 'Carmo da Cachoeira', -21.4633000, -45.2201000), +(3114006, 31, 'Carmo da Mata', -20.5575000, -44.8735000), +(3114105, 31, 'Carmo de Minas', -22.1204000, -45.1307000), +(3114204, 31, 'Carmo do Cajuru', -20.1912000, -44.7664000), +(3114303, 31, 'Carmo do Paranaíba', -18.9910000, -46.3167000), +(3114402, 31, 'Carmo do Rio Claro', -20.9736000, -46.1149000), +(3114501, 31, 'Carmópolis de Minas', -20.5396000, -44.6336000), +(3114550, 31, 'Carneirinho', -19.6987000, -50.6894000), +(3114600, 31, 'Carrancas', -21.4898000, -44.6446000), +(3114709, 31, 'Carvalhópolis', -21.7735000, -45.8421000), +(3114808, 31, 'Carvalhos', -22.0000000, -44.4632000), +(3114907, 31, 'Casa Grande', -20.7925000, -43.9343000), +(3115003, 31, 'Cascalho Rico', -18.5772000, -47.8716000), +(3115102, 31, 'Cássia', -20.5831000, -46.9201000), +(3115201, 31, 'Conceição da Barra de Minas', -21.1316000, -44.4729000), +(3115300, 31, 'Cataguases', -21.3924000, -42.6896000), +(3115359, 31, 'Catas Altas', -20.0734000, -43.4061000), +(3115409, 31, 'Catas Altas da Noruega', -20.6901000, -43.4939000), +(3115458, 31, 'Catuji', -17.3018000, -41.5276000), +(3115474, 31, 'Catuti', -15.3616000, -42.9627000), +(3115508, 31, 'Caxambu', -21.9753000, -44.9319000), +(3115607, 31, 'Cedro do Abaeté', -19.1458000, -45.7120000), +(3115706, 31, 'Central de Minas', -18.7612000, -41.3143000), +(3115805, 31, 'Centralina', -18.5852000, -49.2014000), +(3115904, 31, 'Chácara', -21.6733000, -43.2150000), +(3116001, 31, 'Chalé', -20.0453000, -41.6897000), +(3116100, 31, 'Chapada do Norte', -17.0881000, -42.5392000), +(3116159, 31, 'Chapada Gaúcha', -15.3014000, -45.6116000), +(3116209, 31, 'Chiador', -21.9996000, -43.0617000), +(3116308, 31, 'Cipotânea', -20.9026000, -43.3629000), +(3116407, 31, 'Claraval', -20.3970000, -47.2768000), +(3116506, 31, 'Claro dos Poções', -17.0820000, -44.2061000), +(3116605, 31, 'Cláudio', -20.4437000, -44.7673000), +(3116704, 31, 'Coimbra', -20.8535000, -42.8008000), +(3116803, 31, 'Coluna', -18.2311000, -42.8352000), +(3116902, 31, 'Comendador Gomes', -19.6973000, -49.0789000), +(3117009, 31, 'Comercinho', -16.2963000, -41.7945000), +(3117108, 31, 'Conceição da Aparecida', -21.0960000, -46.2049000), +(3117207, 31, 'Conceição das Pedras', -22.1576000, -45.4562000), +(3117306, 31, 'Conceição das Alagoas', -19.9172000, -48.3839000), +(3117405, 31, 'Conceição de Ipanema', -19.9326000, -41.6908000), +(3117504, 31, 'Conceição do Mato Dentro', -19.0344000, -43.4221000), +(3117603, 31, 'Conceição do Pará', -19.7456000, -44.8945000), +(3117702, 31, 'Conceição do Rio Verde', -21.8778000, -45.0870000), +(3117801, 31, 'Conceição dos Ouros', -22.4078000, -45.7996000), +(3117836, 31, 'Cônego Marinho', -15.2892000, -44.4181000), +(3117876, 31, 'Confins', -19.6282000, -43.9931000), +(3117900, 31, 'Congonhal', -22.1488000, -46.0430000), +(3118007, 31, 'Congonhas', -20.4958000, -43.8510000), +(3118106, 31, 'Congonhas do Norte', -18.8021000, -43.6767000), +(3118205, 31, 'Conquista', -19.9312000, -47.5492000), +(3118304, 31, 'Conselheiro Lafaiete', -20.6634000, -43.7846000), +(3118403, 31, 'Conselheiro Pena', -19.1789000, -41.4736000), +(3118502, 31, 'Consolação', -22.5493000, -45.9255000), +(3118601, 31, 'Contagem', -19.9321000, -44.0539000), +(3118700, 31, 'Coqueiral', -21.1858000, -45.4366000), +(3118809, 31, 'Coração de Jesus', -16.6841000, -44.3635000), +(3118908, 31, 'Cordisburgo', -19.1224000, -44.3224000), +(3119005, 31, 'Cordislândia', -21.7891000, -45.6999000), +(3119104, 31, 'Corinto', -18.3690000, -44.4542000), +(3119203, 31, 'Coroaci', -18.6156000, -42.2791000), +(3119302, 31, 'Coromandel', -18.4734000, -47.1933000), +(3119401, 31, 'Coronel Fabriciano', -19.5179000, -42.6276000), +(3119500, 31, 'Coronel Murta', -16.6148000, -42.1840000), +(3119609, 31, 'Coronel Pacheco', -21.5898000, -43.2560000), +(3119708, 31, 'Coronel Xavier Chaves', -21.0277000, -44.2206000), +(3119807, 31, 'Córrego Danta', -19.8198000, -45.9032000), +(3119906, 31, 'Córrego do Bom Jesus', -22.6269000, -46.0241000), +(3119955, 31, 'Córrego Fundo', -20.4474000, -45.5617000), +(3120003, 31, 'Córrego Novo', -19.8361000, -42.3988000), +(3120102, 31, 'Couto de Magalhães de Minas', -18.0727000, -43.4648000), +(3120151, 31, 'Crisólita', -17.2381000, -40.9184000), +(3120201, 31, 'Cristais', -20.8733000, -45.5167000), +(3120300, 31, 'Cristália', -16.7160000, -42.8571000), +(3120409, 31, 'Cristiano Otoni', -20.8324000, -43.8166000), +(3120508, 31, 'Cristina', -22.2080000, -45.2673000), +(3120607, 31, 'Crucilândia', -20.3923000, -44.3334000), +(3120706, 31, 'Cruzeiro da Fortaleza', -18.9440000, -46.6669000), +(3120805, 31, 'Cruzília', -21.8400000, -44.8067000), +(3120839, 31, 'Cuparaque', -18.9648000, -41.0986000), +(3120870, 31, 'Curral de Dentro', -15.9327000, -41.8557000), +(3120904, 31, 'Curvelo', -18.7527000, -44.4303000), +(3121001, 31, 'Datas', -18.4478000, -43.6591000), +(3121100, 31, 'Delfim Moreira', -22.5036000, -45.2792000), +(3121209, 31, 'Delfinópolis', -20.3468000, -46.8456000), +(3121258, 31, 'Delta', -19.9721000, -47.7841000), +(3121308, 31, 'Descoberto', -21.4600000, -42.9618000), +(3121407, 31, 'Desterro de Entre Rios', -20.6650000, -44.3334000), +(3121506, 31, 'Desterro do Melo', -21.1430000, -43.5178000), +(3121605, 31, 'Diamantina', -18.2413000, -43.6031000), +(3121704, 31, 'Diogo de Vasconcelos', -20.4879000, -43.1953000), +(3121803, 31, 'Dionísio', -19.8433000, -42.7701000), +(3121902, 31, 'Divinésia', -20.9917000, -43.0003000), +(3122009, 31, 'Divino', -20.6134000, -42.1438000), +(3122108, 31, 'Divino das Laranjeiras', -18.7755000, -41.4781000), +(3122207, 31, 'Divinolândia de Minas', -18.8004000, -42.6103000), +(3122306, 31, 'Divinópolis', -20.1446000, -44.8912000), +(3122355, 31, 'Divisa Alegre', -15.7221000, -41.3463000), +(3122405, 31, 'Divisa Nova', -21.5092000, -46.1904000), +(3122454, 31, 'Divisópolis', -15.7254000, -40.9997000), +(3122470, 31, 'Dom Bosco', -16.6520000, -46.2597000), +(3122504, 31, 'Dom Cavati', -19.3735000, -42.1121000), +(3122603, 31, 'Dom Joaquim', -18.9610000, -43.2544000), +(3122702, 31, 'Dom Silvério', -20.1627000, -42.9627000), +(3122801, 31, 'Dom Viçoso', -22.2511000, -45.1643000), +(3122900, 31, 'Dona Eusébia', -21.3190000, -42.8070000), +(3123007, 31, 'Dores de Campos', -21.1139000, -44.0207000), +(3123106, 31, 'Dores de Guanhães', -19.0516000, -42.9254000), +(3123205, 31, 'Dores do Indaiá', -19.4628000, -45.5927000), +(3123304, 31, 'Dores do Turvo', -20.9785000, -43.1834000), +(3123403, 31, 'Doresópolis', -20.2868000, -45.9007000), +(3123502, 31, 'Douradoquara', -18.4338000, -47.5993000), +(3123528, 31, 'Durandé', -20.2058000, -41.7977000), +(3123601, 31, 'Elói Mendes', -21.6088000, -45.5691000), +(3123700, 31, 'Engenheiro Caldas', -19.2065000, -42.0503000), +(3123809, 31, 'Engenheiro Navarro', -17.2831000, -43.9470000), +(3123858, 31, 'Entre Folhas', -19.6218000, -42.2306000), +(3123908, 31, 'Entre Rios de Minas', -20.6706000, -44.0654000), +(3124005, 31, 'Ervália', -20.8403000, -42.6544000), +(3124104, 31, 'Esmeraldas', -19.7640000, -44.3065000), +(3124203, 31, 'Espera Feliz', -20.6508000, -41.9119000), +(3124302, 31, 'Espinosa', -14.9249000, -42.8090000), +(3124401, 31, 'Espírito Santo do Dourado', -22.0454000, -45.9548000), +(3124500, 31, 'Estiva', -22.4577000, -46.0191000), +(3124609, 31, 'Estrela Dalva', -21.7412000, -42.4574000), +(3124708, 31, 'Estrela do Indaiá', -19.5169000, -45.7859000), +(3124807, 31, 'Estrela do Sul', -18.7399000, -47.6956000), +(3124906, 31, 'Eugenópolis', -21.1002000, -42.1878000), +(3125002, 31, 'Ewbank da Câmara', -21.5498000, -43.5068000), +(3125101, 31, 'Extrema', -22.8540000, -46.3178000), +(3125200, 31, 'Fama', -21.4089000, -45.8286000), +(3125309, 31, 'Faria Lemos', -20.8097000, -42.0213000), +(3125408, 31, 'Felício dos Santos', -18.0755000, -43.2422000), +(3125507, 31, 'São Gonçalo do Rio Preto', -18.0025000, -43.3854000), +(3125606, 31, 'Felisburgo', -16.6348000, -40.7605000), +(3125705, 31, 'Felixlândia', -18.7507000, -44.9004000), +(3125804, 31, 'Fernandes Tourinho', -19.1541000, -42.0803000), +(3125903, 31, 'Ferros', -19.2343000, -43.0192000), +(3125952, 31, 'Fervedouro', -20.7260000, -42.2790000), +(3126000, 31, 'Florestal', -19.8880000, -44.4318000), +(3126109, 31, 'Formiga', -20.4618000, -45.4268000), +(3126208, 31, 'Formoso', -14.9446000, -46.2371000), +(3126307, 31, 'Fortaleza de Minas', -20.8508000, -46.7120000), +(3126406, 31, 'Fortuna de Minas', -19.5578000, -44.4472000), +(3126505, 31, 'Francisco Badaró', -16.9883000, -42.3568000), +(3126604, 31, 'Francisco Dumont', -17.3107000, -44.2317000), +(3126703, 31, 'Francisco Sá', -16.4827000, -43.4896000), +(3126752, 31, 'Franciscópolis', -17.9578000, -42.0094000), +(3126802, 31, 'Frei Gaspar', -18.0709000, -41.4325000), +(3126901, 31, 'Frei Inocêncio', -18.5556000, -41.9121000), +(3126950, 31, 'Frei Lagonegro', -18.1751000, -42.7617000), +(3127008, 31, 'Fronteira', -20.2748000, -49.1984000), +(3127057, 31, 'Fronteira dos Vales', -16.8898000, -40.9230000), +(3127073, 31, 'Fruta de Leite', -16.1225000, -42.5288000), +(3127107, 31, 'Frutal', -20.0259000, -48.9355000), +(3127206, 31, 'Funilândia', -19.3661000, -44.0610000), +(3127305, 31, 'Galiléia', -19.0005000, -41.5387000), +(3127339, 31, 'Gameleiras', -15.0829000, -43.1250000), +(3127354, 31, 'Glaucilândia', -16.8481000, -43.6920000), +(3127370, 31, 'Goiabeira', -18.9807000, -41.2235000), +(3127388, 31, 'Goianá', -21.5360000, -43.1957000), +(3127404, 31, 'Gonçalves', -22.6545000, -45.8556000), +(3127503, 31, 'Gonzaga', -18.8196000, -42.4769000), +(3127602, 31, 'Gouveia', -18.4519000, -43.7423000), +(3127701, 31, 'Governador Valadares', -18.8545000, -41.9555000), +(3127800, 31, 'Grão Mogol', -16.5662000, -42.8923000), +(3127909, 31, 'Grupiara', -18.5003000, -47.7318000), +(3128006, 31, 'Guanhães', -18.7713000, -42.9312000), +(3128105, 31, 'Guapé', -20.7631000, -45.9152000), +(3128204, 31, 'Guaraciaba', -20.5716000, -43.0094000), +(3128253, 31, 'Guaraciama', -17.0142000, -43.6675000), +(3128303, 31, 'Guaranésia', -21.3009000, -46.7964000), +(3128402, 31, 'Guarani', -21.3563000, -43.0328000), +(3128501, 31, 'Guarará', -21.7304000, -43.0334000), +(3128600, 31, 'Guarda-Mor', -17.7673000, -47.0998000), +(3128709, 31, 'Guaxupé', -21.3050000, -46.7081000), +(3128808, 31, 'Guidoval', -21.1550000, -42.7887000), +(3128907, 31, 'Guimarânia', -18.8425000, -46.7901000), +(3129004, 31, 'Guiricema', -21.0098000, -42.7207000), +(3129103, 31, 'Gurinhatã', -19.2143000, -49.7876000), +(3129202, 31, 'Heliodora', -22.0644000, -45.5453000), +(3129301, 31, 'Iapu', -19.4387000, -42.2147000), +(3129400, 31, 'Ibertioga', -21.4330000, -43.9639000), +(3129509, 31, 'Ibiá', -19.4749000, -46.5474000), +(3129608, 31, 'Ibiaí', -16.8591000, -44.9046000), +(3129657, 31, 'Ibiracatu', -15.6605000, -44.1667000), +(3129707, 31, 'Ibiraci', -20.4611000, -47.1222000), +(3129806, 31, 'Ibirité', -20.0252000, -44.0569000), +(3129905, 31, 'Ibitiúra de Minas', -22.0604000, -46.4368000), +(3130002, 31, 'Ibituruna', -21.1541000, -44.7479000), +(3130051, 31, 'Icaraí de Minas', -16.2140000, -44.9034000), +(3130101, 31, 'Igarapé', -20.0707000, -44.2994000), +(3130200, 31, 'Igaratinga', -19.9476000, -44.7063000), +(3130309, 31, 'Iguatama', -20.1776000, -45.7111000), +(3130408, 31, 'Ijaci', -21.1738000, -44.9233000), +(3130507, 31, 'Ilicínea', -20.9402000, -45.8308000), +(3130556, 31, 'Imbé de Minas', -19.6017000, -41.9695000), +(3130606, 31, 'Inconfidentes', -22.3136000, -46.3264000), +(3130655, 31, 'Indaiabira', -15.4911000, -42.2005000), +(3130705, 31, 'Indianópolis', -19.0341000, -47.9155000), +(3130804, 31, 'Ingaí', -21.4024000, -44.9152000), +(3130903, 31, 'Inhapim', -19.5476000, -42.1147000), +(3131000, 31, 'Inhaúma', -19.4898000, -44.3934000), +(3131109, 31, 'Inimutaba', -18.7271000, -44.3584000), +(3131158, 31, 'Ipaba', -19.4158000, -42.4139000), +(3131208, 31, 'Ipanema', -19.7992000, -41.7164000), +(3131307, 31, 'Ipatinga', -19.4703000, -42.5476000), +(3131406, 31, 'Ipiaçu', -18.6927000, -49.9436000), +(3131505, 31, 'Ipuiúna', -22.1013000, -46.1915000), +(3131604, 31, 'Iraí de Minas', -18.9819000, -47.4610000), +(3131703, 31, 'Itabira', -19.6239000, -43.2312000), +(3131802, 31, 'Itabirinha', -18.5712000, -41.2340000), +(3131901, 31, 'Itabirito', -20.2501000, -43.8038000), +(3132008, 31, 'Itacambira', -17.0625000, -43.3069000), +(3132107, 31, 'Itacarambi', -15.0890000, -44.0950000), +(3132206, 31, 'Itaguara', -20.3947000, -44.4875000), +(3132305, 31, 'Itaipé', -17.4014000, -41.6697000), +(3132404, 31, 'Itajubá', -22.4225000, -45.4598000), +(3132503, 31, 'Itamarandiba', -17.8552000, -42.8561000), +(3132602, 31, 'Itamarati de Minas', -21.4179000, -42.8130000), +(3132701, 31, 'Itambacuri', -18.0350000, -41.6830000), +(3132800, 31, 'Itambé do Mato Dentro', -19.4158000, -43.3182000), +(3132909, 31, 'Itamogi', -21.0758000, -47.0460000), +(3133006, 31, 'Itamonte', -22.2859000, -44.8680000), +(3133105, 31, 'Itanhandu', -22.2942000, -44.9382000), +(3133204, 31, 'Itanhomi', -19.1736000, -41.8630000), +(3133303, 31, 'Itaobim', -16.5571000, -41.5017000), +(3133402, 31, 'Itapagipe', -19.9062000, -49.3781000), +(3133501, 31, 'Itapecerica', -20.4704000, -45.1270000), +(3133600, 31, 'Itapeva', -22.7665000, -46.2241000), +(3133709, 31, 'Itatiaiuçu', -20.1983000, -44.4211000), +(3133758, 31, 'Itaú de Minas', -20.7375000, -46.7525000), +(3133808, 31, 'Itaúna', -20.0818000, -44.5801000), +(3133907, 31, 'Itaverava', -20.6769000, -43.6141000), +(3134004, 31, 'Itinga', -16.6100000, -41.7672000), +(3134103, 31, 'Itueta', -19.3999000, -41.1746000), +(3134202, 31, 'Ituiutaba', -18.9772000, -49.4639000), +(3134301, 31, 'Itumirim', -21.3171000, -44.8724000), +(3134400, 31, 'Iturama', -19.7276000, -50.1966000), +(3134509, 31, 'Itutinga', -21.3000000, -44.6567000), +(3134608, 31, 'Jaboticatubas', -19.5119000, -43.7373000), +(3134707, 31, 'Jacinto', -16.1428000, -40.2950000), +(3134806, 31, 'Jacuí', -21.0137000, -46.7359000), +(3134905, 31, 'Jacutinga', -22.2860000, -46.6166000), +(3135001, 31, 'Jaguaraçu', -19.6470000, -42.7498000), +(3135050, 31, 'Jaíba', -15.3432000, -43.6688000), +(3135076, 31, 'Jampruca', -18.4610000, -41.8090000), +(3135100, 31, 'Janaúba', -15.8022000, -43.3132000), +(3135209, 31, 'Januária', -15.4802000, -44.3639000), +(3135308, 31, 'Japaraíba', -20.1442000, -45.5015000), +(3135357, 31, 'Japonvar', -15.9891000, -44.2758000), +(3135407, 31, 'Jeceaba', -20.5339000, -43.9894000), +(3135456, 31, 'Jenipapo de Minas', -17.0831000, -42.2589000), +(3135506, 31, 'Jequeri', -20.4542000, -42.6651000), +(3135605, 31, 'Jequitaí', -17.2290000, -44.4376000), +(3135704, 31, 'Jequitibá', -19.2345000, -44.0304000), +(3135803, 31, 'Jequitinhonha', -16.4375000, -41.0117000), +(3135902, 31, 'Jesuânia', -21.9887000, -45.2911000), +(3136009, 31, 'Joaíma', -16.6522000, -41.0229000), +(3136108, 31, 'Joanésia', -19.1729000, -42.6775000), +(3136207, 31, 'João Monlevade', -19.8126000, -43.1735000), +(3136306, 31, 'João Pinheiro', -17.7398000, -46.1715000), +(3136405, 31, 'Joaquim Felício', -17.7580000, -44.1643000), +(3136504, 31, 'Jordânia', -15.9009000, -40.1841000), +(3136520, 31, 'José Gonçalves de Minas', -16.9053000, -42.6014000), +(3136553, 31, 'José Raydan', -18.2195000, -42.4946000), +(3136579, 31, 'Josenópolis', -16.5417000, -42.5151000), +(3136603, 31, 'Nova União', -19.6876000, -43.5830000), +(3136652, 31, 'Juatuba', -19.9448000, -44.3451000), +(3136702, 31, 'Juiz de Fora', -21.7595000, -43.3398000), +(3136801, 31, 'Juramento', -16.8473000, -43.5865000), +(3136900, 31, 'Juruaia', -21.2493000, -46.5735000), +(3136959, 31, 'Juvenília', -14.2662000, -44.1597000), +(3137007, 31, 'Ladainha', -17.6279000, -41.7488000), +(3137106, 31, 'Lagamar', -18.1759000, -46.8063000), +(3137205, 31, 'Lagoa da Prata', -20.0237000, -45.5401000), +(3137304, 31, 'Lagoa dos Patos', -16.9780000, -44.5754000), +(3137403, 31, 'Lagoa Dourada', -20.9139000, -44.0797000), +(3137502, 31, 'Lagoa Formosa', -18.7715000, -46.4012000), +(3137536, 31, 'Lagoa Grande', -17.8323000, -46.5165000), +(3137601, 31, 'Lagoa Santa', -19.6397000, -43.8932000), +(3137700, 31, 'Lajinha', -20.1539000, -41.6228000), +(3137809, 31, 'Lambari', -21.9671000, -45.3498000), +(3137908, 31, 'Lamim', -20.7900000, -43.4706000), +(3138005, 31, 'Laranjal', -21.3715000, -42.4732000), +(3138104, 31, 'Lassance', -17.8870000, -44.5735000), +(3138203, 31, 'Lavras', -21.2480000, -45.0009000), +(3138302, 31, 'Leandro Ferreira', -19.7193000, -45.0279000), +(3138351, 31, 'Leme do Prado', -17.0793000, -42.6936000), +(3138401, 31, 'Leopoldina', -21.5296000, -42.6421000), +(3138500, 31, 'Liberdade', -22.0275000, -44.3208000), +(3138609, 31, 'Lima Duarte', -21.8386000, -43.7934000), +(3138625, 31, 'Limeira do Oeste', -19.5512000, -50.5815000), +(3138658, 31, 'Lontra', -15.9013000, -44.3060000), +(3138674, 31, 'Luisburgo', -20.4468000, -42.0976000), +(3138682, 31, 'Luislândia', -16.1095000, -44.5886000), +(3138708, 31, 'Luminárias', -21.5145000, -44.9034000), +(3138807, 31, 'Luz', -19.7911000, -45.6794000), +(3138906, 31, 'Machacalis', -17.0723000, -40.7245000), +(3139003, 31, 'Machado', -21.6778000, -45.9219000), +(3139102, 31, 'Madre de Deus de Minas', -21.4830000, -44.3287000), +(3139201, 31, 'Malacacheta', -17.8456000, -42.0769000), +(3139250, 31, 'Mamonas', -15.0479000, -42.9469000), +(3139300, 31, 'Manga', -14.7529000, -43.9391000), +(3139409, 31, 'Manhuaçu', -20.2572000, -42.0280000), +(3139508, 31, 'Manhumirim', -20.3591000, -41.9589000), +(3139607, 31, 'Mantena', -18.7761000, -40.9874000), +(3139706, 31, 'Maravilhas', -19.5076000, -44.6779000), +(3139805, 31, 'Mar de Espanha', -21.8707000, -43.0062000), +(3139904, 31, 'Maria da Fé', -22.3044000, -45.3773000), +(3140001, 31, 'Mariana', -20.3765000, -43.4140000), +(3140100, 31, 'Marilac', -18.5079000, -42.0822000), +(3140159, 31, 'Mário Campos', -20.0582000, -44.1883000), +(3140209, 31, 'Maripá de Minas', -21.6979000, -42.9546000), +(3140308, 31, 'Marliéria', -19.7096000, -42.7327000), +(3140407, 31, 'Marmelópolis', -22.4470000, -45.1645000), +(3140506, 31, 'Martinho Campos', -19.3306000, -45.2434000), +(3140530, 31, 'Martins Soares', -20.2546000, -41.8786000), +(3140555, 31, 'Mata Verde', -15.6869000, -40.7366000), +(3140605, 31, 'Materlândia', -18.4699000, -43.0579000), +(3140704, 31, 'Mateus Leme', -19.9794000, -44.4318000), +(3140803, 31, 'Matias Barbosa', -21.8690000, -43.3135000), +(3140852, 31, 'Matias Cardoso', -14.8563000, -43.9146000), +(3140902, 31, 'Matipó', -20.2873000, -42.3401000), +(3141009, 31, 'Mato Verde', -15.3944000, -42.8600000), +(3141108, 31, 'Matozinhos', -19.5543000, -44.0868000), +(3141207, 31, 'Matutina', -19.2179000, -45.9664000), +(3141306, 31, 'Medeiros', -19.9865000, -46.2181000), +(3141405, 31, 'Medina', -16.2245000, -41.4728000), +(3141504, 31, 'Mendes Pimentel', -18.6631000, -41.4052000), +(3141603, 31, 'Mercês', -21.1976000, -43.3337000), +(3141702, 31, 'Mesquita', -19.2240000, -42.6079000), +(3141801, 31, 'Minas Novas', -17.2156000, -42.5884000), +(3141900, 31, 'Minduri', -21.6797000, -44.6051000), +(3142007, 31, 'Mirabela', -16.2560000, -44.1602000), +(3142106, 31, 'Miradouro', -20.8899000, -42.3458000), +(3142205, 31, 'Miraí', -21.2021000, -42.6122000), +(3142254, 31, 'Miravânia', -14.7348000, -44.4092000), +(3142304, 31, 'Moeda', -20.3399000, -44.0509000), +(3142403, 31, 'Moema', -19.8387000, -45.4127000), +(3142502, 31, 'Monjolos', -18.3245000, -44.1180000), +(3142601, 31, 'Monsenhor Paulo', -21.7579000, -45.5391000), +(3142700, 31, 'Montalvânia', -14.4197000, -44.3719000), +(3142809, 31, 'Monte Alegre de Minas', -18.8690000, -48.8810000), +(3142908, 31, 'Monte Azul', -15.1514000, -42.8718000), +(3143005, 31, 'Monte Belo', -21.3271000, -46.3635000), +(3143104, 31, 'Monte Carmelo', -18.7302000, -47.4912000), +(3143153, 31, 'Monte Formoso', -16.8691000, -41.2473000), +(3143203, 31, 'Monte Santo de Minas', -21.1873000, -46.9753000), +(3143302, 31, 'Montes Claros', -16.7282000, -43.8578000), +(3143401, 31, 'Monte Sião', -22.4335000, -46.5730000), +(3143450, 31, 'Montezuma', -15.1702000, -42.4941000), +(3143500, 31, 'Morada Nova de Minas', -18.5998000, -45.3584000), +(3143609, 31, 'Morro da Garça', -18.5356000, -44.6010000), +(3143708, 31, 'Morro do Pilar', -19.2236000, -43.3795000), +(3143807, 31, 'Munhoz', -22.6092000, -46.3620000), +(3143906, 31, 'Muriaé', -21.1300000, -42.3693000), +(3144003, 31, 'Mutum', -19.8121000, -41.4407000), +(3144102, 31, 'Muzambinho', -21.3692000, -46.5213000), +(3144201, 31, 'Nacip Raydan', -18.4544000, -42.2481000), +(3144300, 31, 'Nanuque', -17.8481000, -40.3533000), +(3144359, 31, 'Naque', -19.2291000, -42.3312000), +(3144375, 31, 'Natalândia', -16.5021000, -46.4874000), +(3144409, 31, 'Natércia', -22.1158000, -45.5123000), +(3144508, 31, 'Nazareno', -21.2168000, -44.6138000), +(3144607, 31, 'Nepomuceno', -21.2324000, -45.2350000), +(3144656, 31, 'Ninheira', -15.3148000, -41.7564000), +(3144672, 31, 'Nova Belém', -18.4925000, -41.1107000), +(3144706, 31, 'Nova Era', -19.7577000, -43.0333000), +(3144805, 31, 'Nova Lima', -19.9758000, -43.8509000), +(3144904, 31, 'Nova Módica', -18.4417000, -41.4984000), +(3145000, 31, 'Nova Ponte', -19.1461000, -47.6779000), +(3145059, 31, 'Nova Porteirinha', -15.7993000, -43.2941000), +(3145109, 31, 'Nova Resende', -21.1286000, -46.4157000), +(3145208, 31, 'Nova Serrana', -19.8713000, -44.9847000), +(3145307, 31, 'Novo Cruzeiro', -17.4654000, -41.8826000), +(3145356, 31, 'Novo Oriente de Minas', -17.4089000, -41.2194000), +(3145372, 31, 'Novorizonte', -16.0162000, -42.4044000), +(3145406, 31, 'Olaria', -21.8598000, -43.9356000), +(3145455, 31, "Olhos d'Água", -17.3982000, -43.5719000), +(3145505, 31, 'Olímpio Noronha', -22.0685000, -45.2657000), +(3145604, 31, 'Oliveira', -20.6982000, -44.8290000), +(3145703, 31, 'Oliveira Fortes', -21.3401000, -43.4499000), +(3145802, 31, 'Onça de Pitangui', -19.7276000, -44.8058000), +(3145851, 31, 'Oratórios', -20.4298000, -42.7977000), +(3145877, 31, 'Orizânia', -20.5142000, -42.1991000), +(3145901, 31, 'Ouro Branco', -20.5263000, -43.6962000), +(3146008, 31, 'Ouro Fino', -22.2779000, -46.3716000), +(3146107, 31, 'Ouro Preto', -20.3796000, -43.5120000), +(3146206, 31, 'Ouro Verde de Minas', -18.0719000, -41.2734000), +(3146255, 31, 'Padre Carvalho', -16.3646000, -42.5088000), +(3146305, 31, 'Padre Paraíso', -17.0758000, -41.4821000), +(3146404, 31, 'Paineiras', -18.8993000, -45.5321000), +(3146503, 31, 'Pains', -20.3705000, -45.6627000), +(3146552, 31, 'Pai Pedro', -15.5271000, -43.0700000), +(3146602, 31, 'Paiva', -21.2913000, -43.4088000), +(3146701, 31, 'Palma', -21.3748000, -42.3123000), +(3146750, 31, 'Palmópolis', -16.7364000, -40.4296000), +(3146909, 31, 'Papagaios', -19.4419000, -44.7468000), +(3147006, 31, 'Paracatu', -17.2252000, -46.8711000), +(3147105, 31, 'Pará de Minas', -19.8534000, -44.6114000), +(3147204, 31, 'Paraguaçu', -21.5465000, -45.7374000), +(3147303, 31, 'Paraisópolis', -22.5539000, -45.7803000), +(3147402, 31, 'Paraopeba', -19.2732000, -44.4044000), +(3147501, 31, 'Passabém', -19.3509000, -43.1383000), +(3147600, 31, 'Passa Quatro', -22.3871000, -44.9709000), +(3147709, 31, 'Passa Tempo', -20.6539000, -44.4926000), +(3147808, 31, 'Passa-Vinte', -22.2097000, -44.2344000), +(3147907, 31, 'Passos', -20.7193000, -46.6090000), +(3147956, 31, 'Patis', -16.0773000, -44.0787000), +(3148004, 31, 'Patos de Minas', -18.5699000, -46.5013000), +(3148103, 31, 'Patrocínio', -18.9379000, -46.9934000), +(3148202, 31, 'Patrocínio do Muriaé', -21.1544000, -42.2125000), +(3148301, 31, 'Paula Cândido', -20.8754000, -42.9752000), +(3148400, 31, 'Paulistas', -18.4276000, -42.8628000), +(3148509, 31, 'Pavão', -17.4267000, -41.0035000), +(3148608, 31, 'Peçanha', -18.5441000, -42.5583000), +(3148707, 31, 'Pedra Azul', -16.0086000, -41.2909000), +(3148756, 31, 'Pedra Bonita', -20.5219000, -42.3304000), +(3148806, 31, 'Pedra do Anta', -20.5968000, -42.7123000), +(3148905, 31, 'Pedra do Indaiá', -20.2563000, -45.2107000), +(3149002, 31, 'Pedra Dourada', -20.8266000, -42.1515000), +(3149101, 31, 'Pedralva', -22.2386000, -45.4654000), +(3149150, 31, 'Pedras de Maria da Cruz', -15.6032000, -44.3910000), +(3149200, 31, 'Pedrinópolis', -19.2241000, -47.4579000), +(3149309, 31, 'Pedro Leopoldo', -19.6308000, -44.0383000), +(3149408, 31, 'Pedro Teixeira', -21.7076000, -43.7430000), +(3149507, 31, 'Pequeri', -21.8341000, -43.1145000), +(3149606, 31, 'Pequi', -19.6284000, -44.6604000), +(3149705, 31, 'Perdigão', -19.9411000, -45.0780000), +(3149804, 31, 'Perdizes', -19.3434000, -47.2963000), +(3149903, 31, 'Perdões', -21.0932000, -45.0896000), +(3149952, 31, 'Periquito', -19.1573000, -42.2333000), +(3150000, 31, 'Pescador', -18.3570000, -41.6006000), +(3150109, 31, 'Piau', -21.5096000, -43.3130000), +(3150158, 31, 'Piedade de Caratinga', -19.7593000, -42.0756000), +(3150208, 31, 'Piedade de Ponte Nova', -20.2438000, -42.7379000), +(3150307, 31, 'Piedade do Rio Grande', -21.4690000, -44.1938000), +(3150406, 31, 'Piedade dos Gerais', -20.4715000, -44.2243000), +(3150505, 31, 'Pimenta', -20.4827000, -45.8049000), +(3150539, 31, "Pingo-d'Água", -19.7287000, -42.4095000), +(3150570, 31, 'Pintópolis', -16.0572000, -45.1402000), +(3150604, 31, 'Piracema', -20.5089000, -44.4783000), +(3150703, 31, 'Pirajuba', -19.9092000, -48.7027000), +(3150802, 31, 'Piranga', -20.6834000, -43.2967000), +(3150901, 31, 'Piranguçu', -22.5249000, -45.4945000), +(3151008, 31, 'Piranguinho', -22.3950000, -45.5324000), +(3151107, 31, 'Pirapetinga', -21.6554000, -42.3434000), +(3151206, 31, 'Pirapora', -17.3392000, -44.9340000), +(3151305, 31, 'Piraúba', -21.2825000, -43.0172000), +(3151404, 31, 'Pitangui', -19.6741000, -44.8964000), +(3151503, 31, 'Piumhi', -20.4762000, -45.9589000), +(3151602, 31, 'Planura', -20.1376000, -48.7000000), +(3151701, 31, 'Poço Fundo', -21.7800000, -45.9658000), +(3151800, 31, 'Poços de Caldas', -21.7800000, -46.5692000), +(3151909, 31, 'Pocrane', -19.6208000, -41.6334000), +(3152006, 31, 'Pompéu', -19.2257000, -45.0141000), +(3152105, 31, 'Ponte Nova', -20.4111000, -42.8978000), +(3152131, 31, 'Ponto Chique', -16.6282000, -45.0588000), +(3152170, 31, 'Ponto dos Volantes', -16.7473000, -41.5025000), +(3152204, 31, 'Porteirinha', -15.7404000, -43.0281000), +(3152303, 31, 'Porto Firme', -20.6642000, -43.0834000), +(3152402, 31, 'Poté', -17.8077000, -41.7860000), +(3152501, 31, 'Pouso Alegre', -22.2266000, -45.9389000), +(3152600, 31, 'Pouso Alto', -22.1964000, -44.9748000), +(3152709, 31, 'Prados', -21.0597000, -44.0778000), +(3152808, 31, 'Prata', -19.3086000, -48.9276000), +(3152907, 31, 'Pratápolis', -20.7411000, -46.8624000), +(3153004, 31, 'Pratinha', -19.7390000, -46.3755000), +(3153103, 31, 'Presidente Bernardes', -20.7656000, -43.1895000), +(3153202, 31, 'Presidente Juscelino', -18.6401000, -44.0600000), +(3153301, 31, 'Presidente Kubitschek', -18.6193000, -43.5628000), +(3153400, 31, 'Presidente Olegário', -18.4096000, -46.4165000), +(3153509, 31, 'Alto Jequitibá', -20.4208000, -41.9670000), +(3153608, 31, 'Prudente de Morais', -19.4742000, -44.1591000), +(3153707, 31, 'Quartel Geral', -19.2703000, -45.5569000), +(3153806, 31, 'Queluzito', -20.7416000, -43.8851000), +(3153905, 31, 'Raposos', -19.9636000, -43.8079000), +(3154002, 31, 'Raul Soares', -20.1061000, -42.4502000), +(3154101, 31, 'Recreio', -21.5289000, -42.4676000), +(3154150, 31, 'Reduto', -20.2401000, -41.9848000), +(3154200, 31, 'Resende Costa', -20.9171000, -44.2407000), +(3154309, 31, 'Resplendor', -19.3194000, -41.2462000), +(3154408, 31, 'Ressaquinha', -21.0642000, -43.7598000), +(3154457, 31, 'Riachinho', -16.2258000, -45.9888000), +(3154507, 31, 'Riacho dos Machados', -16.0091000, -43.0488000), +(3154606, 31, 'Ribeirão das Neves', -19.7621000, -44.0844000), +(3154705, 31, 'Ribeirão Vermelho', -21.1879000, -45.0637000), +(3154804, 31, 'Rio Acima', -20.0876000, -43.7878000), +(3154903, 31, 'Rio Casca', -20.2285000, -42.6462000), +(3155009, 31, 'Rio Doce', -20.2412000, -42.8995000), +(3155108, 31, 'Rio do Prado', -16.6056000, -40.5714000), +(3155207, 31, 'Rio Espera', -20.8550000, -43.4721000), +(3155306, 31, 'Rio Manso', -20.2666000, -44.3069000), +(3155405, 31, 'Rio Novo', -21.4649000, -43.1168000), +(3155504, 31, 'Rio Paranaíba', -19.1861000, -46.2455000), +(3155603, 31, 'Rio Pardo de Minas', -15.6160000, -42.5405000), +(3155702, 31, 'Rio Piracicaba', -19.9284000, -43.1829000), +(3155801, 31, 'Rio Pomba', -21.2712000, -43.1696000), +(3155900, 31, 'Rio Preto', -22.0861000, -43.8293000), +(3156007, 31, 'Rio Vermelho', -18.2922000, -43.0018000), +(3156106, 31, 'Ritápolis', -21.0276000, -44.3204000), +(3156205, 31, 'Rochedo de Minas', -21.6284000, -43.0165000), +(3156304, 31, 'Rodeiro', -21.2035000, -42.8586000), +(3156403, 31, 'Romaria', -18.8838000, -47.5782000), +(3156452, 31, 'Rosário da Limeira', -20.9812000, -42.5112000), +(3156502, 31, 'Rubelita', -16.4053000, -42.2610000), +(3156601, 31, 'Rubim', -16.3775000, -40.5397000), +(3156700, 31, 'Sabará', -19.8840000, -43.8263000), +(3156809, 31, 'Sabinópolis', -18.6653000, -43.0752000), +(3156908, 31, 'Sacramento', -19.8622000, -47.4508000), +(3157005, 31, 'Salinas', -16.1753000, -42.2964000), +(3157104, 31, 'Salto da Divisa', -16.0063000, -39.9391000), +(3157203, 31, 'Santa Bárbara', -19.9604000, -43.4101000), +(3157252, 31, 'Santa Bárbara do Leste', -19.9753000, -42.1457000), +(3157278, 31, 'Santa Bárbara do Monte Verde', -21.9592000, -43.7027000), +(3157302, 31, 'Santa Bárbara do Tugúrio', -21.2431000, -43.5607000), +(3157336, 31, 'Santa Cruz de Minas', -21.1241000, -44.2202000), +(3157377, 31, 'Santa Cruz de Salinas', -16.0967000, -41.7418000), +(3157401, 31, 'Santa Cruz do Escalvado', -20.2372000, -42.8169000), +(3157500, 31, 'Santa Efigênia de Minas', -18.8235000, -42.4388000), +(3157609, 31, 'Santa Fé de Minas', -16.6859000, -45.4102000), +(3157658, 31, 'Santa Helena de Minas', -16.9707000, -40.6727000), +(3157708, 31, 'Santa Juliana', -19.3108000, -47.5322000), +(3157807, 31, 'Santa Luzia', -19.7548000, -43.8497000), +(3157906, 31, 'Santa Margarida', -20.3839000, -42.2519000), +(3158003, 31, 'Santa Maria de Itabira', -19.4431000, -43.1064000), +(3158102, 31, 'Santa Maria do Salto', -16.2479000, -40.1512000), +(3158201, 31, 'Santa Maria do Suaçuí', -18.1896000, -42.4139000), +(3158300, 31, 'Santana da Vargem', -21.2449000, -45.5005000), +(3158409, 31, 'Santana de Cataguases', -21.2893000, -42.5524000), +(3158508, 31, 'Santana de Pirapama', -18.9962000, -44.0409000), +(3158607, 31, 'Santana do Deserto', -21.9512000, -43.1583000), +(3158706, 31, 'Santana do Garambéu', -21.5983000, -44.1050000), +(3158805, 31, 'Santana do Jacaré', -20.9007000, -45.1285000), +(3158904, 31, 'Santana do Manhuaçu', -20.1031000, -41.9278000), +(3158953, 31, 'Santana do Paraíso', -19.3661000, -42.5446000), +(3159001, 31, 'Santana do Riacho', -19.1662000, -43.7220000), +(3159100, 31, 'Santana dos Montes', -20.7868000, -43.6949000), +(3159209, 31, 'Santa Rita de Caldas', -22.0292000, -46.3385000), +(3159308, 31, 'Santa Rita de Jacutinga', -22.1474000, -44.0977000), +(3159357, 31, 'Santa Rita de Minas', -19.8760000, -42.1363000), +(3159407, 31, 'Santa Rita de Ibitipoca', -21.5658000, -43.9163000), +(3159506, 31, 'Santa Rita do Itueto', -19.3576000, -41.3821000), +(3159605, 31, 'Santa Rita do Sapucaí', -22.2461000, -45.7034000), +(3159704, 31, 'Santa Rosa da Serra', -19.5186000, -45.9611000), +(3159803, 31, 'Santa Vitória', -18.8414000, -50.1208000), +(3159902, 31, 'Santo Antônio do Amparo', -20.9430000, -44.9176000), +(3160009, 31, 'Santo Antônio do Aventureiro', -21.7606000, -42.8115000), +(3160108, 31, 'Santo Antônio do Grama', -20.3185000, -42.6047000), +(3160207, 31, 'Santo Antônio do Itambé', -18.4609000, -43.3006000), +(3160306, 31, 'Santo Antônio do Jacinto', -16.5332000, -40.1817000), +(3160405, 31, 'Santo Antônio do Monte', -20.0850000, -45.2947000), +(3160454, 31, 'Santo Antônio do Retiro', -15.3393000, -42.6171000), +(3160504, 31, 'Santo Antônio do Rio Abaixo', -19.2374000, -43.2604000), +(3160603, 31, 'Santo Hipólito', -18.2968000, -44.2229000), +(3160702, 31, 'Santos Dumont', -21.4634000, -43.5499000), +(3160801, 31, 'São Bento Abade', -21.5839000, -45.0699000), +(3160900, 31, 'São Brás do Suaçuí', -20.6242000, -43.9515000), +(3160959, 31, 'São Domingos das Dores', -19.5246000, -42.0106000), +(3161007, 31, 'São Domingos do Prata', -19.8678000, -42.9710000), +(3161056, 31, 'São Félix de Minas', -18.5959000, -41.4889000), +(3161106, 31, 'São Francisco', -15.9514000, -44.8593000), +(3161205, 31, 'São Francisco de Paula', -20.7036000, -44.9838000), +(3161304, 31, 'São Francisco de Sales', -19.8611000, -49.7727000), +(3161403, 31, 'São Francisco do Glória', -20.7923000, -42.2673000), +(3161502, 31, 'São Geraldo', -20.9252000, -42.8364000), +(3161601, 31, 'São Geraldo da Piedade', -18.8411000, -42.2867000), +(3161650, 31, 'São Geraldo do Baixio', -18.9097000, -41.3630000), +(3161700, 31, 'São Gonçalo do Abaeté', -18.3315000, -45.8265000), +(3161809, 31, 'São Gonçalo do Pará', -19.9822000, -44.8593000), +(3161908, 31, 'São Gonçalo do Rio Abaixo', -19.8221000, -43.3660000), +(3162005, 31, 'São Gonçalo do Sapucaí', -21.8932000, -45.5893000), +(3162104, 31, 'São Gotardo', -19.3087000, -46.0465000), +(3162203, 31, 'São João Batista do Glória', -20.6350000, -46.5080000), +(3162252, 31, 'São João da Lagoa', -16.8455000, -44.3507000), +(3162302, 31, 'São João da Mata', -21.9280000, -45.9297000), +(3162401, 31, 'São João da Ponte', -15.9271000, -44.0096000), +(3162450, 31, 'São João das Missões', -14.8859000, -44.0922000), +(3162500, 31, 'São João del Rei', -21.1311000, -44.2526000), +(3162559, 31, 'São João do Manhuaçu', -20.3933000, -42.1533000), +(3162575, 31, 'São João do Manteninha', -18.7230000, -41.1628000), +(3162609, 31, 'São João do Oriente', -19.3384000, -42.1575000), +(3162658, 31, 'São João do Pacuí', -16.5373000, -44.5134000), +(3162708, 31, 'São João do Paraíso', -15.3168000, -42.0213000), +(3162807, 31, 'São João Evangelista', -18.5480000, -42.7655000), +(3162906, 31, 'São João Nepomuceno', -21.5381000, -43.0069000), +(3162922, 31, 'São Joaquim de Bicas', -20.0480000, -44.2749000), +(3162948, 31, 'São José da Barra', -20.7178000, -46.3130000), +(3162955, 31, 'São José da Lapa', -19.6971000, -43.9586000), +(3163003, 31, 'São José da Safira', -18.3243000, -42.1431000), +(3163102, 31, 'São José da Varginha', -19.7006000, -44.5560000), +(3163201, 31, 'São José do Alegre', -22.3243000, -45.5258000), +(3163300, 31, 'São José do Divino', -18.4793000, -41.3907000), +(3163409, 31, 'São José do Goiabal', -19.9214000, -42.7035000), +(3163508, 31, 'São José do Jacuri', -18.2810000, -42.6729000), +(3163607, 31, 'São José do Mantimento', -20.0058000, -41.7486000), +(3163706, 31, 'São Lourenço', -22.1166000, -45.0506000), +(3163805, 31, 'São Miguel do Anta', -20.7067000, -42.7174000), +(3163904, 31, 'São Pedro da União', -21.1310000, -46.6123000), +(3164001, 31, 'São Pedro dos Ferros', -20.1732000, -42.5251000), +(3164100, 31, 'São Pedro do Suaçuí', -18.3609000, -42.5981000), +(3164209, 31, 'São Romão', -16.3641000, -45.0749000), +(3164308, 31, 'São Roque de Minas', -20.2490000, -46.3639000), +(3164407, 31, 'São Sebastião da Bela Vista', -22.1583000, -45.7546000), +(3164431, 31, 'São Sebastião da Vargem Alegre', -19.7477000, -43.3679000), +(3164472, 31, 'São Sebastião do Anta', -19.5064000, -41.9850000), +(3164506, 31, 'São Sebastião do Maranhão', -18.0873000, -42.5659000), +(3164605, 31, 'São Sebastião do Oeste', -20.2758000, -45.0063000), +(3164704, 31, 'São Sebastião do Paraíso', -20.9167000, -46.9837000), +(3164803, 31, 'São Sebastião do Rio Preto', -19.2959000, -43.1757000), +(3164902, 31, 'São Sebastião do Rio Verde', -22.2183000, -44.9761000), +(3165008, 31, 'São Tiago', -20.9075000, -44.5098000), +(3165107, 31, 'São Tomás de Aquino', -20.7791000, -47.0962000), +(3165206, 31, 'São Thomé das Letras', -21.7218000, -44.9849000), +(3165305, 31, 'São Vicente de Minas', -21.7042000, -44.4431000), +(3165404, 31, 'Sapucaí-Mirim', -22.7409000, -45.7380000), +(3165503, 31, 'Sardoá', -18.7828000, -42.3629000), +(3165537, 31, 'Sarzedo', -20.0367000, -44.1446000), +(3165552, 31, 'Setubinha', -17.6002000, -42.1587000), +(3165560, 31, 'Sem-Peixe', -20.1008000, -42.8483000), +(3165578, 31, 'Senador Amaral', -22.5869000, -46.1763000), +(3165602, 31, 'Senador Cortes', -21.7986000, -42.9424000), +(3165701, 31, 'Senador Firmino', -20.9158000, -43.0904000), +(3165800, 31, 'Senador José Bento', -22.1633000, -46.1792000), +(3165909, 31, 'Senador Modestino Gonçalves', -17.9465000, -43.2172000), +(3166006, 31, 'Senhora de Oliveira', -20.7972000, -43.3394000), +(3166105, 31, 'Senhora do Porto', -18.8909000, -43.0799000), +(3166204, 31, 'Senhora dos Remédios', -21.0351000, -43.5812000), +(3166303, 31, 'Sericita', -20.4748000, -42.4828000), +(3166402, 31, 'Seritinga', -21.9134000, -44.5180000), +(3166501, 31, 'Serra Azul de Minas', -18.3602000, -43.1675000), +(3166600, 31, 'Serra da Saudade', -19.4447000, -45.7950000), +(3166709, 31, 'Serra dos Aimorés', -17.7872000, -40.2453000), +(3166808, 31, 'Serra do Salitre', -19.1083000, -46.6961000), +(3166907, 31, 'Serrania', -21.5441000, -46.0417000), +(3166956, 31, 'Serranópolis de Minas', -15.8176000, -42.8732000), +(3167004, 31, 'Serranos', -21.8857000, -44.5125000), +(3167103, 31, 'Serro', -18.5991000, -43.3744000), +(3167202, 31, 'Sete Lagoas', -19.4569000, -44.2413000), +(3167301, 31, 'Silveirânia', -21.1615000, -43.2128000), +(3167400, 31, 'Silvianópolis', -22.0274000, -45.8385000), +(3167509, 31, 'Simão Pereira', -21.9640000, -43.3088000), +(3167608, 31, 'Simonésia', -20.1341000, -42.0091000), +(3167707, 31, 'Sobrália', -19.2345000, -42.0998000), +(3167806, 31, 'Soledade de Minas', -22.0554000, -45.0464000), +(3167905, 31, 'Tabuleiro', -21.3632000, -43.2381000), +(3168002, 31, 'Taiobeiras', -15.8106000, -42.2259000), +(3168051, 31, 'Taparuba', -19.7621000, -41.6080000), +(3168101, 31, 'Tapira', -19.9166000, -46.8264000), +(3168200, 31, 'Tapiraí', -19.8936000, -46.0221000), +(3168309, 31, 'Taquaraçu de Minas', -19.6652000, -43.6922000), +(3168408, 31, 'Tarumirim', -19.2835000, -42.0097000), +(3168507, 31, 'Teixeiras', -20.6561000, -42.8564000), +(3168606, 31, 'Teófilo Otoni', -17.8595000, -41.5087000), +(3168705, 31, 'Timóteo', -19.5811000, -42.6471000), +(3168804, 31, 'Tiradentes', -21.1102000, -44.1744000), +(3168903, 31, 'Tiros', -19.0037000, -45.9626000), +(3169000, 31, 'Tocantins', -21.1774000, -43.0127000), +(3169059, 31, 'Tocos do Moji', -22.3698000, -46.0971000), +(3169109, 31, 'Toledo', -22.7421000, -46.3728000), +(3169208, 31, 'Tombos', -20.9086000, -42.0228000), +(3169307, 31, 'Três Corações', -21.6921000, -45.2511000), +(3169356, 31, 'Três Marias', -18.2048000, -45.2473000), +(3169406, 31, 'Três Pontas', -21.3694000, -45.5109000), +(3169505, 31, 'Tumiritinga', -18.9844000, -41.6527000), +(3169604, 31, 'Tupaciguara', -18.5866000, -48.6985000), +(3169703, 31, 'Turmalina', -17.2828000, -42.7285000), +(3169802, 31, 'Turvolândia', -21.8733000, -45.7859000), +(3169901, 31, 'Ubá', -21.1204000, -42.9359000), +(3170008, 31, 'Ubaí', -16.2885000, -44.7783000), +(3170057, 31, 'Ubaporanga', -19.6351000, -42.1059000), +(3170107, 31, 'Uberaba', -19.7472000, -47.9381000), +(3170206, 31, 'Uberlândia', -18.9141000, -48.2749000), +(3170305, 31, 'Umburatiba', -17.2548000, -40.5779000), +(3170404, 31, 'Unaí', -16.3592000, -46.9022000), +(3170438, 31, 'União de Minas', -19.5299000, -50.3380000), +(3170479, 31, 'Uruana de Minas', -16.0634000, -46.2443000), +(3170503, 31, 'Urucânia', -20.3521000, -42.7370000), +(3170529, 31, 'Urucuia', -16.1244000, -45.7352000), +(3170578, 31, 'Vargem Alegre', -19.5988000, -42.2949000), +(3170602, 31, 'Vargem Bonita', -20.3333000, -46.3688000), +(3170651, 31, 'Vargem Grande do Rio Pardo', -15.3987000, -42.3085000), +(3170701, 31, 'Varginha', -21.5556000, -45.4364000), +(3170750, 31, 'Varjão de Minas', -18.3741000, -46.0313000), +(3170800, 31, 'Várzea da Palma', -17.5944000, -44.7226000), +(3170909, 31, 'Varzelândia', -15.6992000, -44.0278000), +(3171006, 31, 'Vazante', -17.9827000, -46.9088000), +(3171030, 31, 'Verdelândia', -15.5845000, -43.6121000), +(3171071, 31, 'Veredinha', -17.3974000, -42.7307000), +(3171105, 31, 'Veríssimo', -19.6657000, -48.3118000), +(3171154, 31, 'Vermelho Novo', -20.0406000, -42.2688000), +(3171204, 31, 'Vespasiano', -19.6883000, -43.9239000), +(3171303, 31, 'Viçosa', -20.7559000, -42.8742000), +(3171402, 31, 'Vieiras', -20.8670000, -42.2401000), +(3171501, 31, 'Mathias Lobato', -18.5900000, -41.9166000), +(3171600, 31, 'Virgem da Lapa', -16.8070000, -42.3431000), +(3171709, 31, 'Virgínia', -22.3264000, -45.0965000), +(3171808, 31, 'Virginópolis', -18.8154000, -42.7015000), +(3171907, 31, 'Virgolândia', -18.4738000, -42.3067000), +(3172004, 31, 'Visconde do Rio Branco', -21.0127000, -42.8361000), +(3172103, 31, 'Volta Grande', -21.7671000, -42.5375000), +(3172202, 31, 'Wenceslau Braz', -22.5368000, -45.3626000), +(3200102, 32, 'Afonso Cláudio', -20.0778000, -41.1261000), +(3200136, 32, 'Águia Branca', -18.9846000, -40.7437000), +(3200169, 32, 'Água Doce do Norte', -18.5482000, -40.9854000), +(3200201, 32, 'Alegre', -20.7580000, -41.5382000), +(3200300, 32, 'Alfredo Chaves', -20.6396000, -40.7543000), +(3200359, 32, 'Alto Rio Novo', -19.0618000, -41.0209000), +(3200409, 32, 'Anchieta', -20.7955000, -40.6425000), +(3200508, 32, 'Apiacá', -21.1523000, -41.5693000), +(3200607, 32, 'Aracruz', -19.8200000, -40.2764000), +(3200706, 32, 'Atilio Vivacqua', -20.9130000, -41.1986000), +(3200805, 32, 'Baixo Guandu', -19.5213000, -41.0109000), +(3200904, 32, 'Barra de São Francisco', -18.7548000, -40.8965000), +(3201001, 32, 'Boa Esperança', -18.5395000, -40.3025000), +(3201100, 32, 'Bom Jesus do Norte', -21.1173000, -41.6731000), +(3201159, 32, 'Brejetuba', -20.1395000, -41.2954000), +(3201209, 32, 'Cachoeiro de Itapemirim', -20.8462000, -41.1198000), +(3201308, 32, 'Cariacica', -20.2632000, -40.4165000), +(3201407, 32, 'Castelo', -20.6033000, -41.2031000), +(3201506, 32, 'Colatina', -19.5493000, -40.6269000), +(3201605, 32, 'Conceição da Barra', -18.5883000, -39.7362000), +(3201704, 32, 'Conceição do Castelo', -20.3639000, -41.2417000), +(3201803, 32, 'Divino de São Lourenço', -20.6229000, -41.6937000), +(3201902, 32, 'Domingos Martins', -20.3603000, -40.6594000), +(3202009, 32, 'Dores do Rio Preto', -20.6931000, -41.8405000), +(3202108, 32, 'Ecoporanga', -18.3702000, -40.8360000), +(3202207, 32, 'Fundão', -19.9370000, -40.4078000), +(3202256, 32, 'Governador Lindenberg', -19.1864000, -40.4473000), +(3202306, 32, 'Guaçuí', -20.7668000, -41.6734000), +(3202405, 32, 'Guarapari', -20.6772000, -40.5093000), +(3202454, 32, 'Ibatiba', -20.2347000, -41.5087000), +(3202504, 32, 'Ibiraçu', -19.8366000, -40.3732000), +(3202553, 32, 'Ibitirama', -20.5466000, -41.6667000), +(3202603, 32, 'Iconha', -20.7913000, -40.8132000), +(3202652, 32, 'Irupi', -20.3501000, -41.6444000), +(3202702, 32, 'Itaguaçu', -19.8018000, -40.8601000), +(3202801, 32, 'Itapemirim', -21.0095000, -40.8307000), +(3202900, 32, 'Itarana', -19.8750000, -40.8753000), +(3203007, 32, 'Iúna', -20.3531000, -41.5334000), +(3203056, 32, 'Jaguaré', -18.9070000, -40.0759000), +(3203106, 32, 'Jerônimo Monteiro', -20.7994000, -41.3948000), +(3203130, 32, 'João Neiva', -19.7577000, -40.3860000), +(3203163, 32, 'Laranja da Terra', -19.8994000, -41.0621000), +(3203205, 32, 'Linhares', -19.3946000, -40.0643000), +(3203304, 32, 'Mantenópolis', -18.8594000, -41.1240000), +(3203320, 32, 'Marataízes', -21.0398000, -40.8384000), +(3203346, 32, 'Marechal Floriano', -20.4159000, -40.6700000), +(3203353, 32, 'Marilândia', -19.4114000, -40.5456000), +(3203403, 32, 'Mimoso do Sul', -21.0628000, -41.3615000), +(3203502, 32, 'Montanha', -18.1303000, -40.3668000), +(3203601, 32, 'Mucurici', -18.0965000, -40.5200000), +(3203700, 32, 'Muniz Freire', -20.4652000, -41.4156000), +(3203809, 32, 'Muqui', -20.9509000, -41.3460000), +(3203908, 32, 'Nova Venécia', -18.7150000, -40.4053000), +(3204005, 32, 'Pancas', -19.2229000, -40.8534000), +(3204054, 32, 'Pedro Canário', -18.3004000, -39.9574000), +(3204104, 32, 'Pinheiros', -18.4141000, -40.2171000), +(3204203, 32, 'Piúma', -20.8334000, -40.7268000), +(3204252, 32, 'Ponto Belo', -18.1253000, -40.5458000), +(3204302, 32, 'Presidente Kennedy', -21.0964000, -41.0468000), +(3204351, 32, 'Rio Bananal', -19.2719000, -40.3366000), +(3204401, 32, 'Rio Novo do Sul', -20.8556000, -40.9388000), +(3204500, 32, 'Santa Leopoldina', -20.0999000, -40.5270000), +(3204559, 32, 'Santa Maria de Jetibá', -20.0253000, -40.7439000), +(3204609, 32, 'Santa Teresa', -19.9363000, -40.5979000), +(3204658, 32, 'São Domingos do Norte', -19.1452000, -40.6281000), +(3204708, 32, 'São Gabriel da Palha', -19.0182000, -40.5365000), +(3204807, 32, 'São José do Calçado', -21.0274000, -41.6636000), +(3204906, 32, 'São Mateus', -18.7214000, -39.8579000), +(3204955, 32, 'São Roque do Canaã', -19.7411000, -40.6526000), +(3205002, 32, 'Serra', -20.1210000, -40.3074000), +(3205010, 32, 'Sooretama', -19.1897000, -40.0974000), +(3205036, 32, 'Vargem Alta', -20.6690000, -41.0179000), +(3205069, 32, 'Venda Nova do Imigrante', -20.3270000, -41.1355000), +(3205101, 32, 'Viana', -20.3825000, -40.4933000), +(3205150, 32, 'Vila Pavão', -18.6091000, -40.6090000), +(3205176, 32, 'Vila Valério', -18.9958000, -40.3849000), +(3205200, 32, 'Vila Velha', -20.3417000, -40.2875000), +(3205309, 32, 'Vitória', -20.3155000, -40.3128000), +(3300100, 33, 'Angra dos Reis', -23.0011000, -44.3196000), +(3300159, 33, 'Aperibé', -21.6252000, -42.1017000), +(3300209, 33, 'Araruama', -22.8697000, -42.3326000), +(3300225, 33, 'Areal', -22.2283000, -43.1118000), +(3300233, 33, 'Armação dos Búzios', -22.7528000, -41.8846000), +(3300258, 33, 'Arraial do Cabo', -22.9774000, -42.0267000), +(3300308, 33, 'Barra do Piraí', -22.4715000, -43.8269000), +(3300407, 33, 'Barra Mansa', -22.5481000, -44.1752000), +(3300456, 33, 'Belford Roxo', -22.7640000, -43.3992000), +(3300506, 33, 'Bom Jardim', -22.1545000, -42.4251000), +(3300605, 33, 'Bom Jesus do Itabapoana', -21.1449000, -41.6822000), +(3300704, 33, 'Cabo Frio', -22.8894000, -42.0286000), +(3300803, 33, 'Cachoeiras de Macacu', -22.4658000, -42.6523000), +(3300902, 33, 'Cambuci', -21.5691000, -41.9187000), +(3300936, 33, 'Carapebus', -22.1821000, -41.6630000), +(3300951, 33, 'Comendador Levy Gasparian', -22.0404000, -43.2140000), +(3301009, 33, 'Campos dos Goytacazes', -21.7622000, -41.3181000), +(3301108, 33, 'Cantagalo', -21.9797000, -42.3664000), +(3301157, 33, 'Cardoso Moreira', -21.4846000, -41.6165000), +(3301207, 33, 'Carmo', -21.9310000, -42.6046000), +(3301306, 33, 'Casimiro de Abreu', -22.4812000, -42.2066000), +(3301405, 33, 'Conceição de Macabu', -22.0834000, -41.8719000), +(3301504, 33, 'Cordeiro', -22.0267000, -42.3648000), +(3301603, 33, 'Duas Barras', -22.0536000, -42.5232000), +(3301702, 33, 'Duque de Caxias', -22.7858000, -43.3049000), +(3301801, 33, 'Engenheiro Paulo de Frontin', -22.5498000, -43.6827000), +(3301850, 33, 'Guapimirim', -22.5347000, -42.9895000), +(3301876, 33, 'Iguaba Grande', -22.8495000, -42.2299000), +(3301900, 33, 'Itaboraí', -22.7565000, -42.8639000), +(3302007, 33, 'Itaguaí', -22.8636000, -43.7798000), +(3302056, 33, 'Italva', -21.4296000, -41.7014000), +(3302106, 33, 'Itaocara', -21.6748000, -42.0758000), +(3302205, 33, 'Itaperuna', -21.1997000, -41.8799000), +(3302254, 33, 'Itatiaia', -22.4897000, -44.5675000), +(3302270, 33, 'Japeri', -22.6435000, -43.6602000), +(3302304, 33, 'Laje do Muriaé', -21.2091000, -42.1271000), +(3302403, 33, 'Macaé', -22.3768000, -41.7848000), +(3302452, 33, 'Macuco', -21.9813000, -42.2533000), +(3302502, 33, 'Magé', -22.6632000, -43.0315000), +(3302601, 33, 'Mangaratiba', -22.9594000, -44.0409000), +(3302700, 33, 'Maricá', -22.9354000, -42.8246000), +(3302809, 33, 'Mendes', -22.5245000, -43.7312000), +(3302858, 33, 'Mesquita', -22.8028000, -43.4601000), +(3302908, 33, 'Miguel Pereira', -22.4572000, -43.4803000), +(3303005, 33, 'Miracema', -21.4148000, -42.1938000), +(3303104, 33, 'Natividade', -21.0390000, -41.9697000), +(3303203, 33, 'Nilópolis', -22.8057000, -43.4233000), +(3303302, 33, 'Niterói', -22.8832000, -43.1034000), +(3303401, 33, 'Nova Friburgo', -22.2932000, -42.5377000), +(3303500, 33, 'Nova Iguaçu', -22.7556000, -43.4603000), +(3303609, 33, 'Paracambi', -22.6078000, -43.7108000), +(3303708, 33, 'Paraíba do Sul', -22.1585000, -43.3040000), +(3303807, 33, 'Paraty', -23.2221000, -44.7175000), +(3303856, 33, 'Paty do Alferes', -22.4309000, -43.4285000), +(3303906, 33, 'Petrópolis', -22.5200000, -43.1926000), +(3303955, 33, 'Pinheiral', -22.5172000, -44.0022000), +(3304003, 33, 'Piraí', -22.6215000, -43.9081000), +(3304102, 33, 'Porciúncula', -20.9632000, -42.0465000), +(3304110, 33, 'Porto Real', -22.4175000, -44.2952000), +(3304128, 33, 'Quatis', -22.4045000, -44.2597000), +(3304144, 33, 'Queimados', -22.7102000, -43.5518000), +(3304151, 33, 'Quissamã', -22.1031000, -41.4693000), +(3304201, 33, 'Resende', -22.4705000, -44.4509000), +(3304300, 33, 'Rio Bonito', -22.7181000, -42.6276000), +(3304409, 33, 'Rio Claro', -22.7200000, -44.1419000), +(3304508, 33, 'Rio das Flores', -22.1692000, -43.5856000), +(3304524, 33, 'Rio das Ostras', -22.5174000, -41.9475000), +(3304557, 33, 'Rio de Janeiro', -22.9129000, -43.2003000), +(3304607, 33, 'Santa Maria Madalena', -21.9547000, -42.0098000), +(3304706, 33, 'Santo Antônio de Pádua', -21.5410000, -42.1832000), +(3304755, 33, 'São Francisco de Itabapoana', -21.4702000, -41.1091000), +(3304805, 33, 'São Fidélis', -21.6551000, -41.7560000), +(3304904, 33, 'São Gonçalo', -22.8268000, -43.0634000), +(3305000, 33, 'São João da Barra', -21.6380000, -41.0446000), +(3305109, 33, 'São João de Meriti', -22.8058000, -43.3729000), +(3305133, 33, 'São José de Ubá', -21.3661000, -41.9511000), +(3305158, 33, 'São José do Vale do Rio Preto', -22.1525000, -42.9327000), +(3305208, 33, 'São Pedro da Aldeia', -22.8429000, -42.1026000), +(3305307, 33, 'São Sebastião do Alto', -21.9578000, -42.1328000), +(3305406, 33, 'Sapucaia', -21.9949000, -42.9142000), +(3305505, 33, 'Saquarema', -22.9292000, -42.5099000), +(3305554, 33, 'Seropédica', -22.7526000, -43.7155000), +(3305604, 33, 'Silva Jardim', -22.6574000, -42.3961000), +(3305703, 33, 'Sumidouro', -22.0485000, -42.6761000), +(3305752, 33, 'Tanguá', -22.7423000, -42.7202000), +(3305802, 33, 'Teresópolis', -22.4165000, -42.9752000), +(3305901, 33, 'Trajano de Moraes', -22.0638000, -42.0643000), +(3306008, 33, 'Três Rios', -22.1165000, -43.2185000), +(3306107, 33, 'Valença', -22.2445000, -43.7129000), +(3306156, 33, 'Varre-Sai', -20.9276000, -41.8701000), +(3306206, 33, 'Vassouras', -22.4059000, -43.6686000), +(3306305, 33, 'Volta Redonda', -22.5202000, -44.0996000), +(3500105, 35, 'Adamantina', -21.6820000, -51.0737000), +(3500204, 35, 'Adolfo', -21.2325000, -49.6451000), +(3500303, 35, 'Aguaí', -22.0572000, -46.9735000), +(3500402, 35, 'Águas da Prata', -21.9319000, -46.7176000), +(3500501, 35, 'Águas de Lindóia', -22.4733000, -46.6314000), +(3500550, 35, 'Águas de Santa Bárbara', -22.8812000, -49.2421000), +(3500600, 35, 'Águas de São Pedro', -22.5977000, -47.8734000), +(3500709, 35, 'Agudos', -22.4694000, -48.9863000), +(3500758, 35, 'Alambari', -23.5503000, -47.8980000), +(3500808, 35, 'Alfredo Marcondes', -21.9527000, -51.4140000), +(3500907, 35, 'Altair', -20.5242000, -49.0571000), +(3501004, 35, 'Altinópolis', -21.0214000, -47.3712000), +(3501103, 35, 'Alto Alegre', -21.5811000, -50.1680000), +(3501152, 35, 'Alumínio', -23.5306000, -47.2546000), +(3501202, 35, 'Álvares Florence', -20.3203000, -49.9141000), +(3501301, 35, 'Álvares Machado', -22.0764000, -51.4722000), +(3501400, 35, 'Álvaro de Carvalho', -22.0841000, -49.7190000), +(3501509, 35, 'Alvinlândia', -22.4435000, -49.7623000), +(3501608, 35, 'Americana', -22.7374000, -47.3331000), +(3501707, 35, 'Américo Brasiliense', -21.7288000, -48.1147000), +(3501806, 35, 'Américo de Campos', -20.2985000, -49.7359000), +(3501905, 35, 'Amparo', -22.7088000, -46.7720000), +(3502002, 35, 'Analândia', -22.1289000, -47.6619000), +(3502101, 35, 'Andradina', -20.8948000, -51.3786000), +(3502200, 35, 'Angatuba', -23.4917000, -48.4139000), +(3502309, 35, 'Anhembi', -22.7930000, -48.1336000), +(3502408, 35, 'Anhumas', -22.2934000, -51.3895000), +(3502507, 35, 'Aparecida', -22.8495000, -45.2325000), +(3502606, 35, "Aparecida d'Oeste", -20.4487000, -50.8835000), +(3502705, 35, 'Apiaí', -24.5108000, -48.8443000), +(3502754, 35, 'Araçariguama', -23.4366000, -47.0608000), +(3502804, 35, 'Araçatuba', -21.2076000, -50.4401000), +(3502903, 35, 'Araçoiaba da Serra', -23.5029000, -47.6166000), +(3503000, 35, 'Aramina', -20.0882000, -47.7873000), +(3503109, 35, 'Arandu', -23.1386000, -49.0487000), +(3503158, 35, 'Arapeí', -22.6717000, -44.4441000), +(3503208, 35, 'Araraquara', -21.7845000, -48.1780000), +(3503307, 35, 'Araras', -22.3572000, -47.3842000), +(3503356, 35, 'Arco-Íris', -21.7728000, -50.4660000), +(3503406, 35, 'Arealva', -22.0310000, -48.9135000), +(3503505, 35, 'Areias', -22.5786000, -44.6992000), +(3503604, 35, 'Areiópolis', -22.6672000, -48.6681000), +(3503703, 35, 'Ariranha', -21.1872000, -48.7904000), +(3503802, 35, 'Artur Nogueira', -22.5727000, -47.1727000), +(3503901, 35, 'Arujá', -23.3965000, -46.3200000), +(3503950, 35, 'Aspásia', -20.1600000, -50.7280000), +(3504008, 35, 'Assis', -22.6600000, -50.4183000), +(3504107, 35, 'Atibaia', -23.1171000, -46.5563000), +(3504206, 35, 'Auriflama', -20.6836000, -50.5572000), +(3504305, 35, 'Avaí', -22.1514000, -49.3356000), +(3504404, 35, 'Avanhandava', -21.4584000, -49.9509000), +(3504503, 35, 'Avaré', -23.1067000, -48.9251000), +(3504602, 35, 'Bady Bassitt', -20.9197000, -49.4385000), +(3504701, 35, 'Balbinos', -21.8963000, -49.3619000), +(3504800, 35, 'Bálsamo', -20.7348000, -49.5865000), +(3504909, 35, 'Bananal', -22.6819000, -44.3281000), +(3505005, 35, 'Barão de Antonina', -23.6284000, -49.5634000), +(3505104, 35, 'Barbosa', -21.2657000, -49.9518000), +(3505203, 35, 'Bariri', -22.0730000, -48.7438000), +(3505302, 35, 'Barra Bonita', -22.4909000, -48.5583000), +(3505351, 35, 'Barra do Chapéu', -24.4722000, -49.0238000), +(3505401, 35, 'Barra do Turvo', -24.7590000, -48.5013000), +(3505500, 35, 'Barretos', -20.5531000, -48.5698000), +(3505609, 35, 'Barrinha', -21.1864000, -48.1636000), +(3505708, 35, 'Barueri', -23.5057000, -46.8790000), +(3505807, 35, 'Bastos', -21.9210000, -50.7357000), +(3505906, 35, 'Batatais', -20.8929000, -47.5921000), +(3506003, 35, 'Bauru', -22.3246000, -49.0871000), +(3506102, 35, 'Bebedouro', -20.9491000, -48.4791000), +(3506201, 35, 'Bento de Abreu', -21.2686000, -50.8140000), +(3506300, 35, 'Bernardino de Campos', -23.0164000, -49.4679000), +(3506359, 35, 'Bertioga', -23.8486000, -46.1396000), +(3506409, 35, 'Bilac', -21.4040000, -50.4746000), +(3506508, 35, 'Birigui', -21.2910000, -50.3432000), +(3506607, 35, 'Biritiba-Mirim', -23.5698000, -46.0407000), +(3506706, 35, 'Boa Esperança do Sul', -21.9918000, -48.3906000), +(3506805, 35, 'Bocaina', -22.1365000, -48.5230000), +(3506904, 35, 'Bofete', -23.1055000, -48.2582000), +(3507001, 35, 'Boituva', -23.2855000, -47.6786000), +(3507100, 35, 'Bom Jesus dos Perdões', -23.1356000, -46.4675000), +(3507159, 35, 'Bom Sucesso de Itararé', -24.3155000, -49.1451000), +(3507209, 35, 'Borá', -22.2696000, -50.5409000), +(3507308, 35, 'Boracéia', -22.1926000, -48.7808000), +(3507407, 35, 'Borborema', -21.6214000, -49.0741000), +(3507456, 35, 'Borebi', -22.5728000, -48.9707000), +(3507506, 35, 'Botucatu', -22.8837000, -48.4437000), +(3507605, 35, 'Bragança Paulista', -22.9527000, -46.5419000), +(3507704, 35, 'Braúna', -21.4990000, -50.3175000), +(3507753, 35, 'Brejo Alegre', -21.1651000, -50.1861000), +(3507803, 35, 'Brodowski', -20.9845000, -47.6572000), +(3507902, 35, 'Brotas', -22.2795000, -48.1251000), +(3508009, 35, 'Buri', -23.7977000, -48.5958000), +(3508108, 35, 'Buritama', -21.0661000, -50.1475000), +(3508207, 35, 'Buritizal', -20.1911000, -47.7096000), +(3508306, 35, 'Cabrália Paulista', -22.4576000, -49.3393000), +(3508405, 35, 'Cabreúva', -23.3053000, -47.1362000), +(3508504, 35, 'Caçapava', -23.0992000, -45.7076000), +(3508603, 35, 'Cachoeira Paulista', -22.6665000, -45.0154000), +(3508702, 35, 'Caconde', -21.5280000, -46.6437000), +(3508801, 35, 'Cafelândia', -21.8031000, -49.6092000), +(3508900, 35, 'Caiabu', -22.0127000, -51.2394000), +(3509007, 35, 'Caieiras', -23.3607000, -46.7397000), +(3509106, 35, 'Caiuá', -21.8322000, -51.9969000), +(3509205, 35, 'Cajamar', -23.3550000, -46.8781000), +(3509254, 35, 'Cajati', -24.7324000, -48.1223000), +(3509304, 35, 'Cajobi', -20.8773000, -48.8063000), +(3509403, 35, 'Cajuru', -21.2749000, -47.3030000), +(3509452, 35, 'Campina do Monte Alegre', -23.5895000, -48.4758000), +(3509502, 35, 'Campinas', -22.9053000, -47.0659000), +(3509601, 35, 'Campo Limpo Paulista', -23.2078000, -46.7889000), +(3509700, 35, 'Campos do Jordão', -22.7296000, -45.5833000), +(3509809, 35, 'Campos Novos Paulista', -22.6020000, -49.9987000), +(3509908, 35, 'Cananéia', -25.0144000, -47.9341000), +(3509957, 35, 'Canas', -22.7003000, -45.0521000), +(3510005, 35, 'Cândido Mota', -22.7471000, -50.3873000), +(3510104, 35, 'Cândido Rodrigues', -21.3275000, -48.6327000), +(3510153, 35, 'Canitar', -23.0040000, -49.7839000), +(3510203, 35, 'Capão Bonito', -24.0113000, -48.3482000), +(3510302, 35, 'Capela do Alto', -23.4685000, -47.7388000), +(3510401, 35, 'Capivari', -22.9951000, -47.5071000), +(3510500, 35, 'Caraguatatuba', -23.6125000, -45.4125000), +(3510609, 35, 'Carapicuíba', -23.5235000, -46.8407000), +(3510708, 35, 'Cardoso', -20.0800000, -49.9183000), +(3510807, 35, 'Casa Branca', -21.7708000, -47.0852000), +(3510906, 35, 'Cássia dos Coqueiros', -21.2801000, -47.1643000), +(3511003, 35, 'Castilho', -20.8689000, -51.4884000), +(3511102, 35, 'Catanduva', -21.1314000, -48.9770000), +(3511201, 35, 'Catiguá', -21.0519000, -49.0616000), +(3511300, 35, 'Cedral', -20.9009000, -49.2664000), +(3511409, 35, 'Cerqueira César', -23.0380000, -49.1655000), +(3511508, 35, 'Cerquilho', -23.1665000, -47.7459000), +(3511607, 35, 'Cesário Lange', -23.2260000, -47.9545000), +(3511706, 35, 'Charqueada', -22.5096000, -47.7755000), +(3511904, 35, 'Clementina', -21.5604000, -50.4525000), +(3512001, 35, 'Colina', -20.7114000, -48.5387000), +(3512100, 35, 'Colômbia', -20.1768000, -48.6865000), +(3512209, 35, 'Conchal', -22.3375000, -47.1729000), +(3512308, 35, 'Conchas', -23.0154000, -48.0134000), +(3512407, 35, 'Cordeirópolis', -22.4778000, -47.4519000), +(3512506, 35, 'Coroados', -21.3521000, -50.2859000), +(3512605, 35, 'Coronel Macedo', -23.6261000, -49.3100000), +(3512704, 35, 'Corumbataí', -22.2213000, -47.6215000), +(3512803, 35, 'Cosmópolis', -22.6419000, -47.1926000), +(3512902, 35, 'Cosmorama', -20.4755000, -49.7827000), +(3513009, 35, 'Cotia', -23.6022000, -46.9190000), +(3513108, 35, 'Cravinhos', -21.3380000, -47.7324000), +(3513207, 35, 'Cristais Paulista', -20.4036000, -47.4209000), +(3513306, 35, 'Cruzália', -22.7373000, -50.7909000), +(3513405, 35, 'Cruzeiro', -22.5728000, -44.9690000), +(3513504, 35, 'Cubatão', -23.8911000, -46.4240000), +(3513603, 35, 'Cunha', -23.0731000, -44.9576000), +(3513702, 35, 'Descalvado', -21.9002000, -47.6181000), +(3513801, 35, 'Diadema', -23.6813000, -46.6205000), +(3513850, 35, 'Dirce Reis', -20.4642000, -50.6073000), +(3513900, 35, 'Divinolândia', -21.6637000, -46.7361000), +(3514007, 35, 'Dobrada', -21.5155000, -48.3935000), +(3514106, 35, 'Dois Córregos', -22.3673000, -48.3819000), +(3514205, 35, 'Dolcinópolis', -20.1240000, -50.5149000), +(3514304, 35, 'Dourado', -22.1044000, -48.3178000), +(3514403, 35, 'Dracena', -21.4843000, -51.5350000), +(3514502, 35, 'Duartina', -22.4146000, -49.4084000), +(3514601, 35, 'Dumont', -21.2324000, -47.9756000), +(3514700, 35, 'Echaporã', -22.4326000, -50.2038000), +(3514809, 35, 'Eldorado', -24.5281000, -48.1141000), +(3514908, 35, 'Elias Fausto', -23.0428000, -47.3682000), +(3514924, 35, 'Elisiário', -21.1678000, -49.1146000), +(3514957, 35, 'Embaúba', -20.9796000, -48.8325000), +(3515004, 35, 'Embu das Artes', -23.6437000, -46.8579000), +(3515103, 35, 'Embu-Guaçu', -23.8297000, -46.8136000), +(3515129, 35, 'Emilianópolis', -21.8314000, -51.4832000), +(3515152, 35, 'Engenheiro Coelho', -22.4836000, -47.2110000), +(3515186, 35, 'Espírito Santo do Pinhal', -22.1909000, -46.7477000), +(3515194, 35, 'Espírito Santo do Turvo', -22.6925000, -49.4341000), +(3515202, 35, "Estrela d'Oeste", -20.2875000, -50.4049000), +(3515301, 35, 'Estrela do Norte', -22.4859000, -51.6632000), +(3515350, 35, 'Euclides da Cunha Paulista', -22.5545000, -52.5928000), +(3515400, 35, 'Fartura', -23.3916000, -49.5124000), +(3515509, 35, 'Fernandópolis', -20.2806000, -50.2471000), +(3515608, 35, 'Fernando Prestes', -21.2661000, -48.6874000), +(3515657, 35, 'Fernão', -22.3607000, -49.5187000), +(3515707, 35, 'Ferraz de Vasconcelos', -23.5411000, -46.3710000), +(3515806, 35, 'Flora Rica', -21.6727000, -51.3821000), +(3515905, 35, 'Floreal', -20.6752000, -50.1513000), +(3516002, 35, 'Flórida Paulista', -21.6127000, -51.1724000), +(3516101, 35, 'Florínia', -22.8680000, -50.6814000), +(3516200, 35, 'Franca', -20.5352000, -47.4039000), +(3516309, 35, 'Francisco Morato', -23.2792000, -46.7448000), +(3516408, 35, 'Franco da Rocha', -23.3229000, -46.7290000), +(3516507, 35, 'Gabriel Monteiro', -21.5294000, -50.5573000), +(3516606, 35, 'Gália', -22.2918000, -49.5504000), +(3516705, 35, 'Garça', -22.2125000, -49.6546000), +(3516804, 35, 'Gastão Vidigal', -20.7948000, -50.1912000), +(3516853, 35, 'Gavião Peixoto', -21.8367000, -48.4957000), +(3516903, 35, 'General Salgado', -20.6485000, -50.3640000), +(3517000, 35, 'Getulina', -21.7961000, -49.9312000), +(3517109, 35, 'Glicério', -21.3812000, -50.2123000), +(3517208, 35, 'Guaiçara', -21.6195000, -49.8013000), +(3517307, 35, 'Guaimbê', -21.9091000, -49.8986000), +(3517406, 35, 'Guaíra', -20.3196000, -48.3120000), +(3517505, 35, 'Guapiaçu', -20.7959000, -49.2172000), +(3517604, 35, 'Guapiara', -24.1892000, -48.5295000), +(3517703, 35, 'Guará', -20.4302000, -47.8236000), +(3517802, 35, 'Guaraçaí', -21.0292000, -51.2119000), +(3517901, 35, 'Guaraci', -20.4977000, -48.9391000), +(3518008, 35, "Guarani d'Oeste", -20.0746000, -50.3411000), +(3518107, 35, 'Guarantã', -21.8942000, -49.5914000), +(3518206, 35, 'Guararapes', -21.2544000, -50.6453000), +(3518305, 35, 'Guararema', -23.4112000, -46.0369000), +(3518404, 35, 'Guaratinguetá', -22.8075000, -45.1938000), +(3518503, 35, 'Guareí', -23.3714000, -48.1837000), +(3518602, 35, 'Guariba', -21.3594000, -48.2316000), +(3518701, 35, 'Guarujá', -23.9888000, -46.2580000), +(3518800, 35, 'Guarulhos', -23.4538000, -46.5333000), +(3518859, 35, 'Guatapará', -21.4944000, -48.0356000), +(3518909, 35, 'Guzolândia', -20.6467000, -50.6645000), +(3519006, 35, 'Herculândia', -22.0038000, -50.3907000), +(3519055, 35, 'Holambra', -22.6405000, -47.0487000), +(3519071, 35, 'Hortolândia', -22.8529000, -47.2143000), +(3519105, 35, 'Iacanga', -21.8896000, -49.0310000), +(3519204, 35, 'Iacri', -21.8572000, -50.6932000), +(3519253, 35, 'Iaras', -22.8682000, -49.1634000), +(3519303, 35, 'Ibaté', -21.9584000, -47.9882000), +(3519402, 35, 'Ibirá', -21.0830000, -49.2448000), +(3519501, 35, 'Ibirarema', -22.8185000, -50.0739000), +(3519600, 35, 'Ibitinga', -21.7562000, -48.8319000), +(3519709, 35, 'Ibiúna', -23.6596000, -47.2230000), +(3519808, 35, 'Icém', -20.3391000, -49.1915000), +(3519907, 35, 'Iepê', -22.6602000, -51.0779000), +(3520004, 35, 'Igaraçu do Tietê', -22.5090000, -48.5597000), +(3520103, 35, 'Igarapava', -20.0407000, -47.7466000), +(3520202, 35, 'Igaratá', -23.2037000, -46.1570000), +(3520301, 35, 'Iguape', -24.6990000, -47.5537000), +(3520400, 35, 'Ilhabela', -23.7785000, -45.3552000), +(3520426, 35, 'Ilha Comprida', -24.7307000, -47.5383000), +(3520442, 35, 'Ilha Solteira', -20.4326000, -51.3426000), +(3520509, 35, 'Indaiatuba', -23.0816000, -47.2101000), +(3520608, 35, 'Indiana', -22.1738000, -51.2555000), +(3520707, 35, 'Indiaporã', -19.9790000, -50.2909000), +(3520806, 35, 'Inúbia Paulista', -21.7695000, -50.9633000), +(3520905, 35, 'Ipaussu', -23.0575000, -49.6279000), +(3521002, 35, 'Iperó', -23.3513000, -47.6927000), +(3521101, 35, 'Ipeúna', -22.4355000, -47.7151000), +(3521150, 35, 'Ipiguá', -20.6557000, -49.3842000), +(3521200, 35, 'Iporanga', -24.5847000, -48.5971000), +(3521309, 35, 'Ipuã', -20.4438000, -48.0129000), +(3521408, 35, 'Iracemápolis', -22.5832000, -47.5230000), +(3521507, 35, 'Irapuã', -21.2768000, -49.4164000), +(3521606, 35, 'Irapuru', -21.5684000, -51.3472000), +(3521705, 35, 'Itaberá', -23.8638000, -49.1400000), +(3521804, 35, 'Itaí', -23.4213000, -49.0920000), +(3521903, 35, 'Itajobi', -21.3123000, -49.0629000), +(3522000, 35, 'Itaju', -21.9857000, -48.8116000), +(3522109, 35, 'Itanhaém', -24.1736000, -46.7880000), +(3522158, 35, 'Itaóca', -24.6393000, -48.8413000), +(3522208, 35, 'Itapecerica da Serra', -23.7161000, -46.8572000), +(3522307, 35, 'Itapetininga', -23.5886000, -48.0483000), +(3522406, 35, 'Itapeva', -23.9788000, -48.8764000), +(3522505, 35, 'Itapevi', -23.5488000, -46.9327000), +(3522604, 35, 'Itapira', -22.4357000, -46.8224000), +(3522653, 35, 'Itapirapuã Paulista', -24.5720000, -49.1661000), +(3522703, 35, 'Itápolis', -21.5942000, -48.8149000), +(3522802, 35, 'Itaporanga', -23.7043000, -49.4819000), +(3522901, 35, 'Itapuí', -22.2324000, -48.7197000), +(3523008, 35, 'Itapura', -20.6419000, -51.5063000), +(3523107, 35, 'Itaquaquecetuba', -23.4835000, -46.3457000), +(3523206, 35, 'Itararé', -24.1085000, -49.3352000), +(3523305, 35, 'Itariri', -24.2834000, -47.1736000), +(3523404, 35, 'Itatiba', -23.0035000, -46.8464000), +(3523503, 35, 'Itatinga', -23.1047000, -48.6157000), +(3523602, 35, 'Itirapina', -22.2562000, -47.8166000), +(3523701, 35, 'Itirapuã', -20.6416000, -47.2194000), +(3523800, 35, 'Itobi', -21.7309000, -46.9743000), +(3523909, 35, 'Itu', -23.2544000, -47.2927000), +(3524006, 35, 'Itupeva', -23.1526000, -47.0593000), +(3524105, 35, 'Ituverava', -20.3355000, -47.7902000), +(3524204, 35, 'Jaborandi', -20.6884000, -48.4112000), +(3524303, 35, 'Jaboticabal', -21.2520000, -48.3252000), +(3524402, 35, 'Jacareí', -23.2983000, -45.9658000), +(3524501, 35, 'Jaci', -20.8805000, -49.5797000), +(3524600, 35, 'Jacupiranga', -24.6963000, -48.0064000), +(3524709, 35, 'Jaguariúna', -22.7037000, -46.9851000), +(3524808, 35, 'Jales', -20.2672000, -50.5494000), +(3524907, 35, 'Jambeiro', -23.2522000, -45.6942000), +(3525003, 35, 'Jandira', -23.5275000, -46.9023000), +(3525102, 35, 'Jardinópolis', -21.0176000, -47.7606000), +(3525201, 35, 'Jarinu', -23.1039000, -46.7280000), +(3525300, 35, 'Jaú', -22.2936000, -48.5592000), +(3525409, 35, 'Jeriquara', -20.3116000, -47.5918000), +(3525508, 35, 'Joanópolis', -22.9270000, -46.2741000), +(3525607, 35, 'João Ramalho', -22.2473000, -50.7694000), +(3525706, 35, 'José Bonifácio', -21.0551000, -49.6892000), +(3525805, 35, 'Júlio Mesquita', -22.0112000, -49.7873000), +(3525854, 35, 'Jumirim', -23.0884000, -47.7868000), +(3525904, 35, 'Jundiaí', -23.1852000, -46.8974000), +(3526001, 35, 'Junqueirópolis', -21.5103000, -51.4342000), +(3526100, 35, 'Juquiá', -24.3101000, -47.6426000), +(3526209, 35, 'Juquitiba', -23.9244000, -47.0653000), +(3526308, 35, 'Lagoinha', -23.0846000, -45.1944000), +(3526407, 35, 'Laranjal Paulista', -23.0506000, -47.8375000), +(3526506, 35, 'Lavínia', -21.1639000, -51.0412000), +(3526605, 35, 'Lavrinhas', -22.5700000, -44.9024000), +(3526704, 35, 'Leme', -22.1809000, -47.3841000), +(3526803, 35, 'Lençóis Paulista', -22.6027000, -48.8037000), +(3526902, 35, 'Limeira', -22.5660000, -47.3970000), +(3527009, 35, 'Lindóia', -22.5226000, -46.6500000), +(3527108, 35, 'Lins', -21.6718000, -49.7526000), +(3527207, 35, 'Lorena', -22.7334000, -45.1197000), +(3527256, 35, 'Lourdes', -20.9660000, -50.2263000), +(3527306, 35, 'Louveira', -23.0856000, -46.9484000), +(3527405, 35, 'Lucélia', -21.7182000, -51.0215000), +(3527504, 35, 'Lucianópolis', -22.4294000, -49.5220000), +(3527603, 35, 'Luís Antônio', -21.5500000, -47.7801000), +(3527702, 35, 'Luiziânia', -21.6737000, -50.3294000), +(3527801, 35, 'Lupércio', -22.4146000, -49.8180000), +(3527900, 35, 'Lutécia', -22.3384000, -50.3940000), +(3528007, 35, 'Macatuba', -22.5002000, -48.7102000), +(3528106, 35, 'Macaubal', -20.8022000, -49.9687000), +(3528205, 35, 'Macedônia', -20.1444000, -50.1973000), +(3528304, 35, 'Magda', -20.6445000, -50.2305000), +(3528403, 35, 'Mairinque', -23.5398000, -47.1850000), +(3528502, 35, 'Mairiporã', -23.3171000, -46.5897000), +(3528601, 35, 'Manduri', -23.0056000, -49.3202000), +(3528700, 35, 'Marabá Paulista', -22.1068000, -51.9617000), +(3528809, 35, 'Maracaí', -22.6149000, -50.6713000), +(3528858, 35, 'Marapoama', -21.2587000, -49.1300000), +(3528908, 35, 'Mariápolis', -21.7959000, -51.1824000), +(3529005, 35, 'Marília', -22.2171000, -49.9501000), +(3529104, 35, 'Marinópolis', -20.4389000, -50.8254000), +(3529203, 35, 'Martinópolis', -22.1462000, -51.1709000), +(3529302, 35, 'Matão', -21.6025000, -48.3640000), +(3529401, 35, 'Mauá', -23.6677000, -46.4613000), +(3529500, 35, 'Mendonça', -21.1757000, -49.5791000), +(3529609, 35, 'Meridiano', -20.3579000, -50.1811000), +(3529658, 35, 'Mesópolis', -19.9684000, -50.6326000), +(3529708, 35, 'Miguelópolis', -20.1796000, -48.0310000), +(3529807, 35, 'Mineiros do Tietê', -22.4120000, -48.4510000), +(3529906, 35, 'Miracatu', -24.2766000, -47.4625000), +(3530003, 35, 'Mira Estrela', -19.9789000, -50.1390000), +(3530102, 35, 'Mirandópolis', -21.1313000, -51.1035000), +(3530201, 35, 'Mirante do Paranapanema', -22.2904000, -51.9084000), +(3530300, 35, 'Mirassol', -20.8169000, -49.5206000), +(3530409, 35, 'Mirassolândia', -20.6179000, -49.4617000), +(3530508, 35, 'Mococa', -21.4647000, -47.0024000), +(3530607, 35, 'Mogi das Cruzes', -23.5208000, -46.1854000), +(3530706, 35, 'Mogi Guaçu', -22.3675000, -46.9428000), +(3530805, 35, 'Mogi Mirim', -22.4332000, -46.9532000), +(3530904, 35, 'Mombuca', -22.9285000, -47.5590000), +(3531001, 35, 'Monções', -20.8509000, -50.0975000), +(3531100, 35, 'Mongaguá', -24.0809000, -46.6265000), +(3531209, 35, 'Monte Alegre do Sul', -22.6817000, -46.6810000), +(3531308, 35, 'Monte Alto', -21.2655000, -48.4971000), +(3531407, 35, 'Monte Aprazível', -20.7680000, -49.7184000), +(3531506, 35, 'Monte Azul Paulista', -20.9065000, -48.6387000), +(3531605, 35, 'Monte Castelo', -21.2981000, -51.5679000), +(3531704, 35, 'Monteiro Lobato', -22.9544000, -45.8407000), +(3531803, 35, 'Monte Mor', -22.9450000, -47.3122000), +(3531902, 35, 'Morro Agudo', -20.7288000, -48.0581000), +(3532009, 35, 'Morungaba', -22.8811000, -46.7896000), +(3532058, 35, 'Motuca', -21.5103000, -48.1538000), +(3532108, 35, 'Murutinga do Sul', -20.9908000, -51.2774000), +(3532157, 35, 'Nantes', -22.6156000, -51.2400000), +(3532207, 35, 'Narandiba', -22.4057000, -51.5274000), +(3532306, 35, 'Natividade da Serra', -23.3707000, -45.4468000), +(3532405, 35, 'Nazaré Paulista', -23.1747000, -46.3983000), +(3532504, 35, 'Neves Paulista', -20.8430000, -49.6358000), +(3532603, 35, 'Nhandeara', -20.6945000, -50.0436000), +(3532702, 35, 'Nipoã', -20.9114000, -49.7833000), +(3532801, 35, 'Nova Aliança', -21.0156000, -49.4986000), +(3532827, 35, 'Nova Campina', -24.1224000, -48.9022000), +(3532843, 35, 'Nova Canaã Paulista', -20.3836000, -50.9483000), +(3532868, 35, 'Nova Castilho', -20.7615000, -50.3477000), +(3532900, 35, 'Nova Europa', -21.7765000, -48.5705000), +(3533007, 35, 'Nova Granada', -20.5321000, -49.3123000), +(3533106, 35, 'Nova Guataporanga', -21.3320000, -51.6447000), +(3533205, 35, 'Nova Independência', -21.1026000, -51.4905000), +(3533254, 35, 'Novais', -20.9893000, -48.9141000), +(3533304, 35, 'Nova Luzitânia', -20.8560000, -50.2617000), +(3533403, 35, 'Nova Odessa', -22.7832000, -47.2941000), +(3533502, 35, 'Novo Horizonte', -21.4651000, -49.2234000), +(3533601, 35, 'Nuporanga', -20.7296000, -47.7429000), +(3533700, 35, 'Ocauçu', -22.4380000, -49.9220000), +(3533809, 35, 'Óleo', -22.9435000, -49.3419000), +(3533908, 35, 'Olímpia', -20.7366000, -48.9106000), +(3534005, 35, 'Onda Verde', -20.6042000, -49.2929000), +(3534104, 35, 'Oriente', -22.1549000, -50.0971000), +(3534203, 35, 'Orindiúva', -20.1861000, -49.3464000), +(3534302, 35, 'Orlândia', -20.7169000, -47.8852000), +(3534401, 35, 'Osasco', -23.5324000, -46.7916000), +(3534500, 35, 'Oscar Bressane', -22.3149000, -50.2811000), +(3534609, 35, 'Osvaldo Cruz', -21.7968000, -50.8793000), +(3534708, 35, 'Ourinhos', -22.9797000, -49.8697000), +(3534757, 35, 'Ouroeste', -20.0061000, -50.3768000), +(3534807, 35, 'Ouro Verde', -21.4872000, -51.7024000), +(3534906, 35, 'Pacaembu', -21.5627000, -51.2654000), +(3535002, 35, 'Palestina', -20.3900000, -49.4309000), +(3535101, 35, 'Palmares Paulista', -21.0854000, -48.8037000), +(3535200, 35, "Palmeira d'Oeste", -20.4148000, -50.7632000), +(3535309, 35, 'Palmital', -22.7858000, -50.2180000), +(3535408, 35, 'Panorama', -21.3540000, -51.8562000), +(3535507, 35, 'Paraguaçu Paulista', -22.4114000, -50.5732000), +(3535606, 35, 'Paraibuna', -23.3872000, -45.6639000), +(3535705, 35, 'Paraíso', -21.0159000, -48.7761000), +(3535804, 35, 'Paranapanema', -23.3862000, -48.7214000), +(3535903, 35, 'Paranapuã', -20.1048000, -50.5886000), +(3536000, 35, 'Parapuã', -21.7792000, -50.7949000), +(3536109, 35, 'Pardinho', -23.0841000, -48.3679000), +(3536208, 35, 'Pariquera-Açu', -24.7147000, -47.8742000), +(3536257, 35, 'Parisi', -20.3034000, -50.0163000), +(3536307, 35, 'Patrocínio Paulista', -20.6384000, -47.2801000), +(3536406, 35, 'Paulicéia', -21.3153000, -51.8321000), +(3536505, 35, 'Paulínia', -22.7542000, -47.1488000), +(3536570, 35, 'Paulistânia', -22.5768000, -49.4008000), +(3536604, 35, 'Paulo de Faria', -20.0296000, -49.4000000), +(3536703, 35, 'Pederneiras', -22.3511000, -48.7781000), +(3536802, 35, 'Pedra Bela', -22.7902000, -46.4455000), +(3536901, 35, 'Pedranópolis', -20.2474000, -50.1129000), +(3537008, 35, 'Pedregulho', -20.2535000, -47.4775000), +(3537107, 35, 'Pedreira', -22.7413000, -46.8948000), +(3537156, 35, 'Pedrinhas Paulista', -22.8174000, -50.7933000), +(3537206, 35, 'Pedro de Toledo', -24.2764000, -47.2354000), +(3537305, 35, 'Penápolis', -21.4148000, -50.0769000), +(3537404, 35, 'Pereira Barreto', -20.6368000, -51.1123000), +(3537503, 35, 'Pereiras', -23.0804000, -47.9720000), +(3537602, 35, 'Peruíbe', -24.3120000, -47.0012000), +(3537701, 35, 'Piacatu', -21.5921000, -50.6003000), +(3537800, 35, 'Piedade', -23.7139000, -47.4256000), +(3537909, 35, 'Pilar do Sul', -23.8077000, -47.7222000), +(3538006, 35, 'Pindamonhangaba', -22.9246000, -45.4613000), +(3538105, 35, 'Pindorama', -21.1853000, -48.9086000), +(3538204, 35, 'Pinhalzinho', -22.7811000, -46.5897000), +(3538303, 35, 'Piquerobi', -21.8747000, -51.7282000), +(3538501, 35, 'Piquete', -22.6069000, -45.1869000), +(3538600, 35, 'Piracaia', -23.0525000, -46.3594000), +(3538709, 35, 'Piracicaba', -22.7338000, -47.6476000), +(3538808, 35, 'Piraju', -23.1981000, -49.3803000), +(3538907, 35, 'Pirajuí', -21.9990000, -49.4608000), +(3539004, 35, 'Pirangi', -21.0886000, -48.6607000), +(3539103, 35, 'Pirapora do Bom Jesus', -23.3965000, -46.9991000), +(3539202, 35, 'Pirapozinho', -22.2711000, -51.4976000), +(3539301, 35, 'Pirassununga', -21.9960000, -47.4257000), +(3539400, 35, 'Piratininga', -22.4142000, -49.1339000), +(3539509, 35, 'Pitangueiras', -21.0132000, -48.2210000), +(3539608, 35, 'Planalto', -21.0342000, -49.9330000), +(3539707, 35, 'Platina', -22.6371000, -50.2104000), +(3539806, 35, 'Poá', -23.5333000, -46.3473000), +(3539905, 35, 'Poloni', -20.7829000, -49.8258000), +(3540002, 35, 'Pompéia', -22.1070000, -50.1760000), +(3540101, 35, 'Pongaí', -21.7396000, -49.3604000), +(3540200, 35, 'Pontal', -21.0216000, -48.0423000), +(3540259, 35, 'Pontalinda', -20.4396000, -50.5258000), +(3540309, 35, 'Pontes Gestal', -20.1727000, -49.7064000), +(3540408, 35, 'Populina', -19.9453000, -50.5380000), +(3540507, 35, 'Porangaba', -23.1761000, -48.1195000), +(3540606, 35, 'Porto Feliz', -23.2093000, -47.5251000), +(3540705, 35, 'Porto Ferreira', -21.8498000, -47.4870000), +(3540754, 35, 'Potim', -22.8343000, -45.2552000), +(3540804, 35, 'Potirendaba', -21.0428000, -49.3815000), +(3540853, 35, 'Pracinha', -21.8496000, -51.0868000), +(3540903, 35, 'Pradópolis', -21.3626000, -48.0679000), +(3541000, 35, 'Praia Grande', -24.0084000, -46.4121000), +(3541059, 35, 'Pratânia', -22.8112000, -48.6636000), +(3541109, 35, 'Presidente Alves', -22.0999000, -49.4381000), +(3541208, 35, 'Presidente Bernardes', -22.0082000, -51.5565000), +(3541307, 35, 'Presidente Epitácio', -21.7651000, -52.1111000), +(3541406, 35, 'Presidente Prudente', -22.1207000, -51.3925000), +(3541505, 35, 'Presidente Venceslau', -21.8732000, -51.8447000), +(3541604, 35, 'Promissão', -21.5356000, -49.8599000), +(3541653, 35, 'Quadra', -23.2993000, -48.0547000), +(3541703, 35, 'Quatá', -22.2456000, -50.6966000), +(3541802, 35, 'Queiroz', -21.7969000, -50.2415000), +(3541901, 35, 'Queluz', -22.5312000, -44.7781000), +(3542008, 35, 'Quintana', -22.0692000, -50.3070000), +(3542107, 35, 'Rafard', -23.0105000, -47.5318000), +(3542206, 35, 'Rancharia', -22.2269000, -50.8930000), +(3542305, 35, 'Redenção da Serra', -23.2638000, -45.5422000), +(3542404, 35, 'Regente Feijó', -22.2181000, -51.3055000), +(3542503, 35, 'Reginópolis', -21.8914000, -49.2268000), +(3542602, 35, 'Registro', -24.4979000, -47.8449000), +(3542701, 35, 'Restinga', -20.6056000, -47.4833000), +(3542800, 35, 'Ribeira', -24.6517000, -49.0044000), +(3542909, 35, 'Ribeirão Bonito', -22.0685000, -48.1820000), +(3543006, 35, 'Ribeirão Branco', -24.2206000, -48.7635000), +(3543105, 35, 'Ribeirão Corrente', -20.4579000, -47.5904000), +(3543204, 35, 'Ribeirão do Sul', -22.7890000, -49.9330000), +(3543238, 35, 'Ribeirão dos Índios', -21.8382000, -51.6103000), +(3543253, 35, 'Ribeirão Grande', -24.1011000, -48.3679000), +(3543303, 35, 'Ribeirão Pires', -23.7067000, -46.4058000), +(3543402, 35, 'Ribeirão Preto', -21.1699000, -47.8099000), +(3543501, 35, 'Riversul', -23.8290000, -49.4290000), +(3543600, 35, 'Rifaina', -20.0803000, -47.4291000), +(3543709, 35, 'Rincão', -21.5894000, -48.0728000), +(3543808, 35, 'Rinópolis', -21.7284000, -50.7239000), +(3543907, 35, 'Rio Claro', -22.3984000, -47.5546000), +(3544004, 35, 'Rio das Pedras', -22.8417000, -47.6047000), +(3544103, 35, 'Rio Grande da Serra', -23.7437000, -46.3971000), +(3544202, 35, 'Riolândia', -19.9868000, -49.6836000), +(3544251, 35, 'Rosana', -22.5782000, -53.0603000), +(3544301, 35, 'Roseira', -22.8938000, -45.3070000), +(3544400, 35, 'Rubiácea', -21.3006000, -50.7296000), +(3544509, 35, 'Rubinéia', -20.1759000, -51.0070000), +(3544608, 35, 'Sabino', -21.4593000, -49.5755000), +(3544707, 35, 'Sagres', -21.8823000, -50.9594000), +(3544806, 35, 'Sales', -21.3427000, -49.4897000), +(3544905, 35, 'Sales Oliveira', -20.7696000, -47.8369000), +(3545001, 35, 'Salesópolis', -23.5288000, -45.8465000), +(3545100, 35, 'Salmourão', -21.6267000, -50.8614000), +(3545159, 35, 'Saltinho', -22.8442000, -47.6754000), +(3545209, 35, 'Salto', -23.1996000, -47.2931000), +(3545308, 35, 'Salto de Pirapora', -23.6474000, -47.5743000), +(3545407, 35, 'Salto Grande', -22.8894000, -49.9831000), +(3545506, 35, 'Sandovalina', -22.4551000, -51.7648000), +(3545605, 35, 'Santa Adélia', -21.2427000, -48.8063000), +(3545704, 35, 'Santa Albertina', -20.0311000, -50.7297000), +(3545803, 35, "Santa Bárbara d'Oeste", -22.7553000, -47.4143000), +(3546009, 35, 'Santa Branca', -23.3933000, -45.8875000), +(3546108, 35, "Santa Clara d'Oeste", -20.0900000, -50.9491000), +(3546207, 35, 'Santa Cruz da Conceição', -22.1405000, -47.4512000), +(3546256, 35, 'Santa Cruz da Esperança', -21.2951000, -47.4304000), +(3546306, 35, 'Santa Cruz das Palmeiras', -21.8235000, -47.2480000), +(3546405, 35, 'Santa Cruz do Rio Pardo', -22.8988000, -49.6354000), +(3546504, 35, 'Santa Ernestina', -21.4618000, -48.3953000), +(3546603, 35, 'Santa Fé do Sul', -20.2083000, -50.9320000), +(3546702, 35, 'Santa Gertrudes', -22.4572000, -47.5272000), +(3546801, 35, 'Santa Isabel', -23.3172000, -46.2237000), +(3546900, 35, 'Santa Lúcia', -21.6850000, -48.0885000), +(3547007, 35, 'Santa Maria da Serra', -22.5661000, -48.1593000), +(3547106, 35, 'Santa Mercedes', -21.3495000, -51.7564000), +(3547205, 35, 'Santana da Ponte Pensa', -20.2523000, -50.8014000), +(3547304, 35, 'Santana de Parnaíba', -23.4439000, -46.9178000), +(3547403, 35, "Santa Rita d'Oeste", -20.1414000, -50.8358000), +(3547502, 35, 'Santa Rita do Passa Quatro', -21.7083000, -47.4780000), +(3547601, 35, 'Santa Rosa de Viterbo', -21.4776000, -47.3622000), +(3547650, 35, 'Santa Salete', -20.2429000, -50.6887000), +(3547700, 35, 'Santo Anastácio', -21.9747000, -51.6527000), +(3547809, 35, 'Santo André', -23.6737000, -46.5432000), +(3547908, 35, 'Santo Antônio da Alegria', -21.0864000, -47.1464000), +(3548005, 35, 'Santo Antônio de Posse', -22.6029000, -46.9192000), +(3548054, 35, 'Santo Antônio do Aracanguá', -20.9331000, -50.4980000), +(3548104, 35, 'Santo Antônio do Jardim', -22.1121000, -46.6845000), +(3548203, 35, 'Santo Antônio do Pinhal', -22.8270000, -45.6630000), +(3548302, 35, 'Santo Expedito', -21.8467000, -51.3929000), +(3548401, 35, 'Santópolis do Aguapeí', -21.6376000, -50.5044000), +(3548500, 35, 'Santos', -23.9535000, -46.3350000), +(3548609, 35, 'São Bento do Sapucaí', -22.6837000, -45.7287000), +(3548708, 35, 'São Bernardo do Campo', -23.6914000, -46.5646000), +(3548807, 35, 'São Caetano do Sul', -23.6229000, -46.5548000), +(3548906, 35, 'São Carlos', -22.0174000, -47.8860000), +(3549003, 35, 'São Francisco', -20.3623000, -50.6952000), +(3549102, 35, 'São João da Boa Vista', -21.9707000, -46.7944000), +(3549201, 35, 'São João das Duas Pontes', -20.3879000, -50.3792000), +(3549250, 35, 'São João de Iracema', -20.5111000, -50.3561000), +(3549300, 35, "São João do Pau d'Alho", -21.2662000, -51.6672000), +(3549409, 35, 'São Joaquim da Barra', -20.5812000, -47.8593000), +(3549508, 35, 'São José da Bela Vista', -20.5935000, -47.6424000), +(3549607, 35, 'São José do Barreiro', -22.6414000, -44.5774000), +(3549706, 35, 'São José do Rio Pardo', -21.5953000, -46.8873000), +(3549805, 35, 'São José do Rio Preto', -20.8113000, -49.3758000), +(3549904, 35, 'São José dos Campos', -23.1896000, -45.8841000), +(3549953, 35, 'São Lourenço da Serra', -23.8491000, -46.9432000), +(3550001, 35, 'São Luiz do Paraitinga', -23.2220000, -45.3109000), +(3550100, 35, 'São Manuel', -22.7321000, -48.5723000), +(3550209, 35, 'São Miguel Arcanjo', -23.8782000, -47.9935000), +(3550308, 35, 'São Paulo', -23.5329000, -46.6395000), +(3550407, 35, 'São Pedro', -22.5483000, -47.9096000), +(3550506, 35, 'São Pedro do Turvo', -22.7453000, -49.7428000), +(3550605, 35, 'São Roque', -23.5226000, -47.1357000), +(3550704, 35, 'São Sebastião', -23.7951000, -45.4143000), +(3550803, 35, 'São Sebastião da Grama', -21.7041000, -46.8208000), +(3550902, 35, 'São Simão', -21.4732000, -47.5518000), +(3551009, 35, 'São Vicente', -23.9574000, -46.3883000), +(3551108, 35, 'Sarapuí', -23.6397000, -47.8249000), +(3551207, 35, 'Sarutaiá', -23.2721000, -49.4763000), +(3551306, 35, 'Sebastianópolis do Sul', -20.6523000, -49.9250000), +(3551405, 35, 'Serra Azul', -21.3074000, -47.5602000), +(3551504, 35, 'Serrana', -21.2043000, -47.5952000), +(3551603, 35, 'Serra Negra', -22.6139000, -46.7033000), +(3551702, 35, 'Sertãozinho', -21.1316000, -47.9875000), +(3551801, 35, 'Sete Barras', -24.3820000, -47.9279000), +(3551900, 35, 'Severínia', -20.8108000, -48.8054000), +(3552007, 35, 'Silveiras', -22.6638000, -44.8522000), +(3552106, 35, 'Socorro', -22.5903000, -46.5251000), +(3552205, 35, 'Sorocaba', -23.4969000, -47.4451000), +(3552304, 35, 'Sud Mennucci', -20.6872000, -50.9238000), +(3552403, 35, 'Sumaré', -22.8204000, -47.2728000), +(3552502, 35, 'Suzano', -23.5448000, -46.3112000), +(3552551, 35, 'Suzanápolis', -20.4981000, -51.0268000), +(3552601, 35, 'Tabapuã', -20.9602000, -49.0307000), +(3552700, 35, 'Tabatinga', -21.7239000, -48.6896000), +(3552809, 35, 'Taboão da Serra', -23.6019000, -46.7526000), +(3552908, 35, 'Taciba', -22.3866000, -51.2882000), +(3553005, 35, 'Taguaí', -23.4452000, -49.4024000), +(3553104, 35, 'Taiaçu', -21.1431000, -48.5112000), +(3553203, 35, 'Taiúva', -21.1223000, -48.4528000), +(3553302, 35, 'Tambaú', -21.7029000, -47.2703000), +(3553401, 35, 'Tanabi', -20.6228000, -49.6563000), +(3553500, 35, 'Tapiraí', -23.9612000, -47.5062000), +(3553609, 35, 'Tapiratiba', -21.4713000, -46.7448000), +(3553658, 35, 'Taquaral', -21.0737000, -48.4126000), +(3553708, 35, 'Taquaritinga', -21.4049000, -48.5103000), +(3553807, 35, 'Taquarituba', -23.5307000, -49.2410000), +(3553856, 35, 'Taquarivaí', -23.9211000, -48.6948000), +(3553906, 35, 'Tarabai', -22.3016000, -51.5621000), +(3553955, 35, 'Tarumã', -22.7429000, -50.5786000), +(3554003, 35, 'Tatuí', -23.3487000, -47.8461000), +(3554102, 35, 'Taubaté', -23.0104000, -45.5593000), +(3554201, 35, 'Tejupá', -23.3425000, -49.3722000), +(3554300, 35, 'Teodoro Sampaio', -22.5299000, -52.1682000), +(3554409, 35, 'Terra Roxa', -20.7870000, -48.3314000), +(3554508, 35, 'Tietê', -23.1101000, -47.7164000), +(3554607, 35, 'Timburi', -23.2057000, -49.6096000), +(3554656, 35, 'Torre de Pedra', -23.2462000, -48.1955000), +(3554706, 35, 'Torrinha', -22.4237000, -48.1731000), +(3554755, 35, 'Trabiju', -22.0388000, -48.3342000), +(3554805, 35, 'Tremembé', -22.9571000, -45.5475000), +(3554904, 35, 'Três Fronteiras', -20.2344000, -50.8905000), +(3554953, 35, 'Tuiuti', -22.8193000, -46.6937000), +(3555000, 35, 'Tupã', -21.9335000, -50.5191000), +(3555109, 35, 'Tupi Paulista', -21.3825000, -51.5750000), +(3555208, 35, 'Turiúba', -20.9428000, -50.1135000), +(3555307, 35, 'Turmalina', -20.0486000, -50.4792000), +(3555356, 35, 'Ubarana', -21.1650000, -49.7198000), +(3555406, 35, 'Ubatuba', -23.4332000, -45.0834000), +(3555505, 35, 'Ubirajara', -22.5272000, -49.6613000), +(3555604, 35, 'Uchoa', -20.9511000, -49.1713000), +(3555703, 35, 'União Paulista', -20.8862000, -49.9025000), +(3555802, 35, 'Urânia', -20.2455000, -50.6455000), +(3555901, 35, 'Uru', -21.7866000, -49.2848000), +(3556008, 35, 'Urupês', -21.2032000, -49.2931000), +(3556107, 35, 'Valentim Gentil', -20.4217000, -50.0889000), +(3556206, 35, 'Valinhos', -22.9698000, -46.9974000), +(3556305, 35, 'Valparaíso', -21.2229000, -50.8699000), +(3556354, 35, 'Vargem', -22.8870000, -46.4124000), +(3556404, 35, 'Vargem Grande do Sul', -21.8322000, -46.8913000), +(3556453, 35, 'Vargem Grande Paulista', -23.5993000, -47.0220000), +(3556503, 35, 'Várzea Paulista', -23.2136000, -46.8234000), +(3556602, 35, 'Vera Cruz', -22.2183000, -49.8207000), +(3556701, 35, 'Vinhedo', -23.0302000, -46.9833000), +(3556800, 35, 'Viradouro', -20.8734000, -48.2930000), +(3556909, 35, 'Vista Alegre do Alto', -21.1692000, -48.6284000), +(3556958, 35, 'Vitória Brasil', -20.1956000, -50.4875000), +(3557006, 35, 'Votorantim', -23.5446000, -47.4388000), +(3557105, 35, 'Votuporanga', -20.4237000, -49.9781000), +(3557154, 35, 'Zacarias', -21.0506000, -50.0552000), +(3557204, 35, 'Chavantes', -23.0366000, -49.7096000), +(3557303, 35, 'Estiva Gerbi', -22.2713000, -46.9481000), +(4100103, 41, 'Abatiá', -23.3049000, -50.3133000), +(4100202, 41, 'Adrianópolis', -24.6606000, -48.9922000), +(4100301, 41, 'Agudos do Sul', -25.9899000, -49.3343000), +(4100400, 41, 'Almirante Tamandaré', -25.3188000, -49.3037000), +(4100459, 41, 'Altamira do Paraná', -24.7983000, -52.7128000), +(4100509, 41, 'Altônia', -23.8759000, -53.8958000), +(4100608, 41, 'Alto Paraná', -23.1312000, -52.3189000), +(4100707, 41, 'Alto Piquiri', -24.0224000, -53.4400000), +(4100806, 41, 'Alvorada do Sul', -22.7813000, -51.2297000), +(4100905, 41, 'Amaporã', -23.0943000, -52.7866000), +(4101002, 41, 'Ampére', -25.9168000, -53.4686000), +(4101051, 41, 'Anahy', -24.6449000, -53.1332000), +(4101101, 41, 'Andirá', -23.0533000, -50.2304000), +(4101150, 41, 'Ângulo', -23.1946000, -51.9154000), +(4101200, 41, 'Antonina', -25.4386000, -48.7191000), +(4101309, 41, 'Antônio Olinto', -25.9804000, -50.1972000), +(4101408, 41, 'Apucarana', -23.5500000, -51.4635000), +(4101507, 41, 'Arapongas', -23.4153000, -51.4259000), +(4101606, 41, 'Arapoti', -24.1548000, -49.8285000), +(4101655, 41, 'Arapuã', -24.3132000, -51.7856000), +(4101705, 41, 'Araruna', -23.9315000, -52.5021000), +(4101804, 41, 'Araucária', -25.5859000, -49.4047000), +(4101853, 41, 'Ariranha do Ivaí', -24.3857000, -51.5839000), +(4101903, 41, 'Assaí', -23.3697000, -50.8459000), +(4102000, 41, 'Assis Chateaubriand', -24.4168000, -53.5213000), +(4102109, 41, 'Astorga', -23.2318000, -51.6668000), +(4102208, 41, 'Atalaia', -23.1517000, -52.0551000), +(4102307, 41, 'Balsa Nova', -25.5804000, -49.6291000), +(4102406, 41, 'Bandeirantes', -23.1078000, -50.3704000), +(4102505, 41, 'Barbosa Ferraz', -24.0334000, -52.0040000), +(4102604, 41, 'Barracão', -26.2502000, -53.6324000), +(4102703, 41, 'Barra do Jacaré', -23.1160000, -50.1842000), +(4102752, 41, 'Bela Vista da Caroba', -25.8842000, -53.6725000), +(4102802, 41, 'Bela Vista do Paraíso', -22.9937000, -51.1927000), +(4102901, 41, 'Bituruna', -26.1607000, -51.5518000), +(4103008, 41, 'Boa Esperança', -24.2467000, -52.7876000), +(4103024, 41, 'Boa Esperança do Iguaçu', -25.6324000, -53.2108000), +(4103040, 41, 'Boa Ventura de São Roque', -24.8688000, -51.6276000), +(4103057, 41, 'Boa Vista da Aparecida', -25.4308000, -53.4117000), +(4103107, 41, 'Bocaiúva do Sul', -25.2066000, -49.1141000), +(4103156, 41, 'Bom Jesus do Sul', -26.1958000, -53.5955000), +(4103206, 41, 'Bom Sucesso', -23.7063000, -51.7671000), +(4103222, 41, 'Bom Sucesso do Sul', -26.0731000, -52.8353000), +(4103305, 41, 'Borrazópolis', -23.9366000, -51.5875000), +(4103354, 41, 'Braganey', -24.8173000, -53.1218000), +(4103370, 41, 'Brasilândia do Sul', -24.1978000, -53.5275000), +(4103404, 41, 'Cafeara', -22.7890000, -51.7142000), +(4103453, 41, 'Cafelândia', -24.6189000, -53.3207000), +(4103479, 41, 'Cafezal do Sul', -23.9005000, -53.5124000), +(4103503, 41, 'Califórnia', -23.6566000, -51.3574000), +(4103602, 41, 'Cambará', -23.0423000, -50.0753000), +(4103701, 41, 'Cambé', -23.2766000, -51.2798000), +(4103800, 41, 'Cambira', -23.5890000, -51.5792000), +(4103909, 41, 'Campina da Lagoa', -24.5893000, -52.7976000), +(4103958, 41, 'Campina do Simão', -25.0802000, -51.8237000), +(4104006, 41, 'Campina Grande do Sul', -25.3044000, -49.0551000), +(4104055, 41, 'Campo Bonito', -25.0294000, -52.9939000), +(4104105, 41, 'Campo do Tenente', -25.9800000, -49.6844000), +(4104204, 41, 'Campo Largo', -25.4525000, -49.5290000), +(4104253, 41, 'Campo Magro', -25.3687000, -49.4501000), +(4104303, 41, 'Campo Mourão', -24.0463000, -52.3780000), +(4104402, 41, 'Cândido de Abreu', -24.5649000, -51.3372000), +(4104428, 41, 'Candói', -25.5758000, -52.0409000), +(4104451, 41, 'Cantagalo', -25.3734000, -52.1198000), +(4104501, 41, 'Capanema', -25.6691000, -53.8055000), +(4104600, 41, 'Capitão Leônidas Marques', -25.4816000, -53.6112000), +(4104659, 41, 'Carambeí', -24.9152000, -50.0986000), +(4104709, 41, 'Carlópolis', -23.4269000, -49.7235000), +(4104808, 41, 'Cascavel', -24.9573000, -53.4590000), +(4104907, 41, 'Castro', -24.7891000, -50.0108000), +(4105003, 41, 'Catanduvas', -25.2044000, -53.1548000), +(4105102, 41, 'Centenário do Sul', -22.8188000, -51.5973000), +(4105201, 41, 'Cerro Azul', -26.0891000, -52.8691000), +(4105300, 41, 'Céu Azul', -25.1489000, -53.8415000), +(4105409, 41, 'Chopinzinho', -25.8515000, -52.5173000), +(4105508, 41, 'Cianorte', -23.6599000, -52.6054000), +(4105607, 41, 'Cidade Gaúcha', -23.3772000, -52.9436000), +(4105706, 41, 'Clevelândia', -26.4043000, -52.3508000), +(4105805, 41, 'Colombo', -25.2925000, -49.2262000), +(4105904, 41, 'Colorado', -22.8374000, -51.9743000), +(4106001, 41, 'Congonhinhas', -23.5493000, -50.5569000), +(4106100, 41, 'Conselheiro Mairinck', -23.6230000, -50.1707000), +(4106209, 41, 'Contenda', -25.6788000, -49.5350000), +(4106308, 41, 'Corbélia', -24.7971000, -53.3006000), +(4106407, 41, 'Cornélio Procópio', -23.1829000, -50.6498000), +(4106456, 41, 'Coronel Domingos Soares', -26.2277000, -52.0356000), +(4106506, 41, 'Coronel Vivida', -25.9767000, -52.5641000), +(4106555, 41, 'Corumbataí do Sul', -24.1010000, -52.1177000), +(4106571, 41, 'Cruzeiro do Iguaçu', -25.6192000, -53.1285000), +(4106605, 41, 'Cruzeiro do Oeste', -23.7799000, -53.0774000), +(4106704, 41, 'Cruzeiro do Sul', -22.9624000, -52.1622000), +(4106803, 41, 'Cruz Machado', -26.0166000, -51.3430000), +(4106852, 41, 'Cruzmaltina', -24.0132000, -51.4563000), +(4106902, 41, 'Curitiba', -25.4195000, -49.2646000), +(4107009, 41, 'Curiúva', -24.0362000, -50.4576000), +(4107108, 41, 'Diamante do Norte', -22.6550000, -52.8617000), +(4107124, 41, 'Diamante do Sul', -25.0350000, -52.6768000), +(4107157, 41, "Diamante D'Oeste", -24.9419000, -54.1052000), +(4107207, 41, 'Dois Vizinhos', -25.7407000, -53.0570000), +(4107256, 41, 'Douradina', -23.3807000, -53.2918000), +(4107306, 41, 'Doutor Camargo', -23.5582000, -52.2178000), +(4107405, 41, 'Enéas Marques', -25.9445000, -53.1659000), +(4107504, 41, 'Engenheiro Beltrão', -23.7970000, -52.2659000), +(4107520, 41, 'Esperança Nova', -23.7238000, -53.8110000), +(4107538, 41, 'Entre Rios do Oeste', -24.7042000, -54.2385000), +(4107546, 41, 'Espigão Alto do Iguaçu', -25.4216000, -52.8348000), +(4107553, 41, 'Farol', -24.0958000, -52.6217000), +(4107603, 41, 'Faxinal', -24.0077000, -51.3227000), +(4107652, 41, 'Fazenda Rio Grande', -25.6624000, -49.3073000), +(4107702, 41, 'Fênix', -23.9135000, -51.9805000), +(4107736, 41, 'Fernandes Pinheiro', -25.4107000, -50.5456000), +(4107751, 41, 'Figueira', -23.8455000, -50.4031000), +(4107801, 41, 'Floraí', -23.3178000, -52.3029000), +(4107850, 41, 'Flor da Serra do Sul', -26.2523000, -53.3092000), +(4107900, 41, 'Floresta', -23.6031000, -52.0807000), +(4108007, 41, 'Florestópolis', -22.8623000, -51.3882000), +(4108106, 41, 'Flórida', -23.0847000, -51.9546000), +(4108205, 41, 'Formosa do Oeste', -24.2951000, -53.3114000), +(4108304, 41, 'Foz do Iguaçu', -25.5427000, -54.5827000), +(4108320, 41, 'Francisco Alves', -24.0667000, -53.8461000), +(4108403, 41, 'Francisco Beltrão', -26.0817000, -53.0535000), +(4108452, 41, 'Foz do Jordão', -25.7371000, -52.1188000), +(4108502, 41, 'General Carneiro', -26.4250000, -51.3172000), +(4108551, 41, 'Godoy Moreira', -24.1730000, -51.9246000), +(4108601, 41, 'Goioerê', -24.1835000, -53.0248000), +(4108650, 41, 'Goioxim', -25.1927000, -51.9911000), +(4108700, 41, 'Grandes Rios', -24.1466000, -51.5094000), +(4108809, 41, 'Guaíra', -24.0850000, -54.2573000), +(4108908, 41, 'Guairaçá', -22.9320000, -52.6906000), +(4108957, 41, 'Guamiranga', -25.1912000, -50.8021000), +(4109005, 41, 'Guapirama', -23.5203000, -50.0407000), +(4109104, 41, 'Guaporema', -23.3402000, -52.7786000), +(4109203, 41, 'Guaraci', -22.9694000, -51.6504000), +(4109302, 41, 'Guaraniaçu', -25.0968000, -52.8755000), +(4109401, 41, 'Guarapuava', -25.3902000, -51.4623000), +(4109500, 41, 'Guaraqueçaba', -25.3071000, -48.3204000), +(4109609, 41, 'Guaratuba', -25.8817000, -48.5752000), +(4109658, 41, 'Honório Serpa', -26.1390000, -52.3848000), +(4109708, 41, 'Ibaiti', -23.8478000, -50.1932000), +(4109757, 41, 'Ibema', -25.1193000, -53.0072000), +(4109807, 41, 'Ibiporã', -23.2659000, -51.0522000), +(4109906, 41, 'Icaraíma', -23.3944000, -53.6150000), +(4110003, 41, 'Iguaraçu', -23.1949000, -51.8256000), +(4110052, 41, 'Iguatu', -24.7153000, -53.0827000), +(4110078, 41, 'Imbaú', -24.4480000, -50.7533000), +(4110102, 41, 'Imbituva', -25.2285000, -50.5989000), +(4110201, 41, 'Inácio Martins', -25.5704000, -51.0769000), +(4110300, 41, 'Inajá', -22.7509000, -52.1995000), +(4110409, 41, 'Indianópolis', -23.4762000, -52.6989000), +(4110508, 41, 'Ipiranga', -25.0238000, -50.5794000), +(4110607, 41, 'Iporã', -24.0083000, -53.7060000), +(4110656, 41, 'Iracema do Oeste', -24.4262000, -53.3528000), +(4110706, 41, 'Irati', -25.4697000, -50.6493000), +(4110805, 41, 'Iretama', -24.4253000, -52.1012000), +(4110904, 41, 'Itaguajé', -22.6183000, -51.9674000), +(4110953, 41, 'Itaipulândia', -25.1366000, -54.3001000), +(4111001, 41, 'Itambaracá', -23.0181000, -50.4097000), +(4111100, 41, 'Itambé', -23.6601000, -51.9912000), +(4111209, 41, "Itapejara d'Oeste", -25.9619000, -52.8152000), +(4111258, 41, 'Itaperuçu', -25.2193000, -49.3454000), +(4111308, 41, 'Itaúna do Sul', -22.7289000, -52.8874000), +(4111407, 41, 'Ivaí', -25.0067000, -50.8570000), +(4111506, 41, 'Ivaiporã', -24.2485000, -51.6754000), +(4111555, 41, 'Ivaté', -23.4072000, -53.3687000), +(4111605, 41, 'Ivatuba', -23.6187000, -52.2203000), +(4111704, 41, 'Jaboti', -23.7435000, -50.0729000), +(4111803, 41, 'Jacarezinho', -23.1591000, -49.9739000), +(4111902, 41, 'Jaguapitã', -23.1104000, -51.5342000), +(4112009, 41, 'Jaguariaíva', -24.2439000, -49.7066000), +(4112108, 41, 'Jandaia do Sul', -23.6011000, -51.6448000), +(4112207, 41, 'Janiópolis', -24.1401000, -52.7784000), +(4112306, 41, 'Japira', -23.8142000, -50.1422000), +(4112405, 41, 'Japurá', -23.4693000, -52.5557000), +(4112504, 41, 'Jardim Alegre', -24.1809000, -51.6902000), +(4112603, 41, 'Jardim Olinda', -22.5523000, -52.0503000), +(4112702, 41, 'Jataizinho', -23.2578000, -50.9777000), +(4112751, 41, 'Jesuítas', -24.3839000, -53.3849000), +(4112801, 41, 'Joaquim Távora', -23.4987000, -49.9090000), +(4112900, 41, 'Jundiaí do Sul', -23.4357000, -50.2496000), +(4112959, 41, 'Juranda', -24.4209000, -52.8413000), +(4113007, 41, 'Jussara', -23.6219000, -52.4693000), +(4113106, 41, 'Kaloré', -23.8188000, -51.6687000), +(4113205, 41, 'Lapa', -25.7671000, -49.7168000), +(4113254, 41, 'Laranjal', -24.8862000, -52.4700000), +(4113304, 41, 'Laranjeiras do Sul', -25.4077000, -52.4109000), +(4113403, 41, 'Leópolis', -23.0818000, -50.7511000), +(4113429, 41, 'Lidianópolis', -24.1100000, -51.6506000), +(4113452, 41, 'Lindoeste', -25.2596000, -53.5733000), +(4113502, 41, 'Loanda', -22.9232000, -53.1362000), +(4113601, 41, 'Lobato', -23.0058000, -51.9524000), +(4113700, 41, 'Londrina', -23.3040000, -51.1691000), +(4113734, 41, 'Luiziana', -24.2853000, -52.2690000), +(4113759, 41, 'Lunardelli', -24.0821000, -51.7368000), +(4113809, 41, 'Lupionópolis', -22.7550000, -51.6601000), +(4113908, 41, 'Mallet', -25.8806000, -50.8173000), +(4114005, 41, 'Mamborê', -24.3170000, -52.5271000), +(4114104, 41, 'Mandaguaçu', -23.3458000, -52.0944000), +(4114203, 41, 'Mandaguari', -23.5446000, -51.6710000), +(4114302, 41, 'Mandirituba', -25.7770000, -49.3282000), +(4114351, 41, 'Manfrinópolis', -26.1441000, -53.3113000), +(4114401, 41, 'Mangueirinha', -25.9421000, -52.1743000), +(4114500, 41, 'Manoel Ribas', -24.5144000, -51.6658000), +(4114609, 41, 'Marechal Cândido Rondon', -24.5570000, -54.0571000), +(4114708, 41, 'Maria Helena', -23.6158000, -53.2053000), +(4114807, 41, 'Marialva', -23.4843000, -51.7928000), +(4114906, 41, 'Marilândia do Sul', -23.7425000, -51.3137000), +(4115002, 41, 'Marilena', -22.7336000, -53.0402000), +(4115101, 41, 'Mariluz', -24.0089000, -53.1432000), +(4115200, 41, 'Maringá', -23.4205000, -51.9333000), +(4115309, 41, 'Mariópolis', -26.3550000, -52.5532000), +(4115358, 41, 'Maripá', -24.4200000, -53.8286000), +(4115408, 41, 'Marmeleiro', -26.1472000, -53.0267000), +(4115457, 41, 'Marquinho', -25.1120000, -52.2497000), +(4115507, 41, 'Marumbi', -23.7058000, -51.6404000), +(4115606, 41, 'Matelândia', -25.2496000, -53.9935000), +(4115705, 41, 'Matinhos', -25.8237000, -48.5490000), +(4115739, 41, 'Mato Rico', -24.6995000, -52.1454000), +(4115754, 41, 'Mauá da Serra', -23.8988000, -51.2277000), +(4115804, 41, 'Medianeira', -25.2977000, -54.0943000), +(4115853, 41, 'Mercedes', -24.4538000, -54.1618000), +(4115903, 41, 'Mirador', -23.2550000, -52.7761000), +(4116000, 41, 'Miraselva', -22.9657000, -51.4846000), +(4116059, 41, 'Missal', -25.0919000, -54.2477000), +(4116109, 41, 'Moreira Sales', -24.0509000, -53.0102000), +(4116208, 41, 'Morretes', -25.4744000, -48.8345000), +(4116307, 41, 'Munhoz de Melo', -23.1487000, -51.7737000), +(4116406, 41, 'Nossa Senhora das Graças', -22.9129000, -51.7978000), +(4116505, 41, 'Nova Aliança do Ivaí', -23.1763000, -52.6032000), +(4116604, 41, 'Nova América da Colina', -23.3308000, -50.7168000), +(4116703, 41, 'Nova Aurora', -24.5289000, -53.2575000), +(4116802, 41, 'Nova Cantu', -24.6723000, -52.5661000), +(4116901, 41, 'Nova Esperança', -23.1820000, -52.2031000), +(4116950, 41, 'Nova Esperança do Sudoeste', -25.9004000, -53.2618000), +(4117008, 41, 'Nova Fátima', -23.4324000, -50.5665000), +(4117057, 41, 'Nova Laranjeiras', -25.3054000, -52.5447000), +(4117107, 41, 'Nova Londrina', -22.7639000, -52.9868000), +(4117206, 41, 'Nova Olímpia', -23.4703000, -53.0898000), +(4117214, 41, 'Nova Santa Bárbara', -23.5865000, -50.7598000), +(4117222, 41, 'Nova Santa Rosa', -24.4693000, -53.9552000), +(4117255, 41, 'Nova Prata do Iguaçu', -25.6309000, -53.3469000), +(4117271, 41, 'Nova Tebas', -24.4380000, -51.9454000), +(4117297, 41, 'Novo Itacolomi', -23.7631000, -51.5079000), +(4117305, 41, 'Ortigueira', -24.2058000, -50.9185000), +(4117404, 41, 'Ourizona', -23.4053000, -52.1964000), +(4117453, 41, 'Ouro Verde do Oeste', -24.7933000, -53.9043000), +(4117503, 41, 'Paiçandu', -23.4555000, -52.0460000), +(4117602, 41, 'Palmas', -26.4839000, -51.9888000), +(4117701, 41, 'Palmeira', -25.4257000, -50.0070000), +(4117800, 41, 'Palmital', -24.8853000, -52.2029000), +(4117909, 41, 'Palotina', -24.2868000, -53.8404000), +(4118006, 41, 'Paraíso do Norte', -23.2824000, -52.6054000), +(4118105, 41, 'Paranacity', -22.9297000, -52.1549000), +(4118204, 41, 'Paranaguá', -25.5161000, -48.5225000), +(4118303, 41, 'Paranapoema', -22.6412000, -52.0905000), +(4118402, 41, 'Paranavaí', -23.0816000, -52.4617000), +(4118451, 41, 'Pato Bragado', -24.6271000, -54.2265000), +(4118501, 41, 'Pato Branco', -26.2292000, -52.6706000), +(4118600, 41, 'Paula Freitas', -26.2105000, -50.9310000), +(4118709, 41, 'Paulo Frontin', -26.0466000, -50.8304000), +(4118808, 41, 'Peabiru', -23.9140000, -52.3431000), +(4118857, 41, 'Perobal', -23.8949000, -53.4098000), +(4118907, 41, 'Pérola', -23.8039000, -53.6834000), +(4119004, 41, "Pérola d'Oeste", -25.8278000, -53.7433000), +(4119103, 41, 'Piên', -26.0965000, -49.4336000), +(4119152, 41, 'Pinhais', -25.4429000, -49.1927000), +(4119202, 41, 'Pinhalão', -23.7982000, -50.0536000), +(4119251, 41, 'Pinhal de São Bento', -26.0324000, -53.4820000), +(4119301, 41, 'Pinhão', -25.6944000, -51.6536000), +(4119400, 41, 'Piraí do Sul', -24.5306000, -49.9433000), +(4119509, 41, 'Piraquara', -25.4422000, -49.0624000), +(4119608, 41, 'Pitanga', -24.7588000, -51.7596000), +(4119657, 41, 'Pitangueiras', -23.2281000, -51.5873000), +(4119707, 41, 'Planaltina do Paraná', -23.0101000, -52.9162000), +(4119806, 41, 'Planalto', -25.7211000, -53.7642000), +(4119905, 41, 'Ponta Grossa', -25.0916000, -50.1668000), +(4119954, 41, 'Pontal do Paraná', -25.6735000, -48.5111000), +(4120002, 41, 'Porecatu', -22.7537000, -51.3795000), +(4120101, 41, 'Porto Amazonas', -25.5400000, -49.8946000), +(4120150, 41, 'Porto Barreiro', -25.5477000, -52.4067000), +(4120200, 41, 'Porto Rico', -22.7747000, -53.2677000), +(4120309, 41, 'Porto Vitória', -26.1674000, -51.2310000), +(4120333, 41, 'Prado Ferreira', -23.0357000, -51.4429000), +(4120358, 41, 'Pranchita', -26.0209000, -53.7397000), +(4120408, 41, 'Presidente Castelo Branco', -23.2782000, -52.1536000), +(4120507, 41, 'Primeiro de Maio', -22.8517000, -51.0293000), +(4120606, 41, 'Prudentópolis', -25.2111000, -50.9754000), +(4120655, 41, 'Quarto Centenário', -24.2775000, -53.0759000), +(4120705, 41, 'Quatiguá', -23.5671000, -49.9160000), +(4120804, 41, 'Quatro Barras', -25.3673000, -49.0763000), +(4120853, 41, 'Quatro Pontes', -24.5752000, -53.9759000), +(4120903, 41, 'Quedas do Iguaçu', -25.4492000, -52.9102000), +(4121000, 41, 'Querência do Norte', -23.0838000, -53.4830000), +(4121109, 41, 'Quinta do Sol', -23.8533000, -52.1309000), +(4121208, 41, 'Quitandinha', -25.8734000, -49.4973000), +(4121257, 41, 'Ramilândia', -25.1195000, -54.0230000), +(4121307, 41, 'Rancho Alegre', -23.0676000, -50.9145000), +(4121356, 41, "Rancho Alegre D'Oeste", -24.3065000, -52.9552000), +(4121406, 41, 'Realeza', -25.7711000, -53.5260000), +(4121505, 41, 'Rebouças', -25.6232000, -50.6877000), +(4121604, 41, 'Renascença', -26.1588000, -52.9703000), +(4121703, 41, 'Reserva', -24.6492000, -50.8466000), +(4121752, 41, 'Reserva do Iguaçu', -25.8319000, -52.0272000), +(4121802, 41, 'Ribeirão Claro', -23.1941000, -49.7597000), +(4121901, 41, 'Ribeirão do Pinhal', -23.4091000, -50.3601000), +(4122008, 41, 'Rio Azul', -25.7306000, -50.7985000), +(4122107, 41, 'Rio Bom', -23.7606000, -51.4122000), +(4122156, 41, 'Rio Bonito do Iguaçu', -25.4874000, -52.5292000), +(4122172, 41, 'Rio Branco do Ivaí', -24.3244000, -51.3187000), +(4122206, 41, 'Rio Branco do Sul', -25.1892000, -49.3115000), +(4122305, 41, 'Rio Negro', -26.0950000, -49.7982000), +(4122404, 41, 'Rolândia', -23.3101000, -51.3659000), +(4122503, 41, 'Roncador', -24.5958000, -52.2716000), +(4122602, 41, 'Rondon', -23.4120000, -52.7659000), +(4122651, 41, 'Rosário do Ivaí', -24.2682000, -51.2720000), +(4122701, 41, 'Sabáudia', -23.3155000, -51.5550000), +(4122800, 41, 'Salgado Filho', -26.1777000, -53.3631000), +(4122909, 41, 'Salto do Itararé', -23.6074000, -49.6354000), +(4123006, 41, 'Salto do Lontra', -25.7813000, -53.3135000), +(4123105, 41, 'Santa Amélia', -23.2654000, -50.4288000), +(4123204, 41, 'Santa Cecília do Pavão', -23.5201000, -50.7835000), +(4123303, 41, 'Santa Cruz de Monte Castelo', -22.9582000, -53.2949000), +(4123402, 41, 'Santa Fé', -23.0400000, -51.8080000), +(4123501, 41, 'Santa Helena', -24.8585000, -54.3360000), +(4123600, 41, 'Santa Inês', -22.6376000, -51.9024000), +(4123709, 41, 'Santa Isabel do Ivaí', -23.0025000, -53.1989000), +(4123808, 41, 'Santa Izabel do Oeste', -25.8217000, -53.4801000), +(4123824, 41, 'Santa Lúcia', -25.4104000, -53.5638000), +(4123857, 41, 'Santa Maria do Oeste', -24.9377000, -51.8696000), +(4123907, 41, 'Santa Mariana', -23.1465000, -50.5167000), +(4123956, 41, 'Santa Mônica', -23.1080000, -53.1103000), +(4124004, 41, 'Santana do Itararé', -23.7587000, -49.6293000), +(4124020, 41, 'Santa Tereza do Oeste', -25.0543000, -53.6274000), +(4124053, 41, 'Santa Terezinha de Itaipu', -25.4391000, -54.4020000), +(4124103, 41, 'Santo Antônio da Platina', -23.2959000, -50.0815000), +(4124202, 41, 'Santo Antônio do Caiuá', -22.7351000, -52.3440000), +(4124301, 41, 'Santo Antônio do Paraíso', -23.4969000, -50.6455000), +(4124400, 41, 'Santo Antônio do Sudoeste', -26.0737000, -53.7251000), +(4124509, 41, 'Santo Inácio', -22.6957000, -51.7969000), +(4124608, 41, 'São Carlos do Ivaí', -23.3158000, -52.4761000), +(4124707, 41, 'São Jerônimo da Serra', -23.7218000, -50.7475000), +(4124806, 41, 'São João', -25.8214000, -52.7252000), +(4124905, 41, 'São João do Caiuá', -22.8535000, -52.3411000), +(4125001, 41, 'São João do Ivaí', -23.9833000, -51.8215000), +(4125100, 41, 'São João do Triunfo', -25.6830000, -50.2949000), +(4125209, 41, "São Jorge d'Oeste", -25.7085000, -52.9204000), +(4125308, 41, 'São Jorge do Ivaí', -23.4336000, -52.2929000), +(4125357, 41, 'São Jorge do Patrocínio', -23.7647000, -53.8823000), +(4125407, 41, 'São José da Boa Vista', -23.9122000, -49.6577000), +(4125456, 41, 'São José das Palmeiras', -24.8369000, -54.0572000), +(4125506, 41, 'São José dos Pinhais', -25.5313000, -49.2031000), +(4125555, 41, 'São Manoel do Paraná', -23.3941000, -52.6454000), +(4125605, 41, 'São Mateus do Sul', -25.8677000, -50.3840000), +(4125704, 41, 'São Miguel do Iguaçu', -25.3492000, -54.2405000), +(4125753, 41, 'São Pedro do Iguaçu', -24.9373000, -53.8521000), +(4125803, 41, 'São Pedro do Ivaí', -23.8634000, -51.8568000), +(4125902, 41, 'São Pedro do Paraná', -22.8239000, -53.2241000), +(4126009, 41, 'São Sebastião da Amoreira', -23.4656000, -50.7625000), +(4126108, 41, 'São Tomé', -23.5349000, -52.5901000), +(4126207, 41, 'Sapopema', -23.9078000, -50.5801000), +(4126256, 41, 'Sarandi', -23.4441000, -51.8760000), +(4126272, 41, 'Saudade do Iguaçu', -25.6917000, -52.6184000), +(4126306, 41, 'Sengés', -24.1129000, -49.4616000), +(4126355, 41, 'Serranópolis do Iguaçu', -25.3799000, -54.0518000), +(4126405, 41, 'Sertaneja', -23.0361000, -50.8317000), +(4126504, 41, 'Sertanópolis', -23.0571000, -51.0399000), +(4126603, 41, 'Siqueira Campos', -23.6875000, -49.8304000), +(4126652, 41, 'Sulina', -25.7066000, -52.7299000), +(4126678, 41, 'Tamarana', -23.7204000, -51.0991000), +(4126702, 41, 'Tamboara', -23.2036000, -52.4743000), +(4126801, 41, 'Tapejara', -23.7315000, -52.8735000), +(4126900, 41, 'Tapira', -23.3193000, -53.0684000), +(4127007, 41, 'Teixeira Soares', -25.3701000, -50.4571000), +(4127106, 41, 'Telêmaco Borba', -24.3245000, -50.6176000), +(4127205, 41, 'Terra Boa', -23.7683000, -52.4470000), +(4127304, 41, 'Terra Rica', -22.7111000, -52.6188000), +(4127403, 41, 'Terra Roxa', -24.1575000, -54.0988000), +(4127502, 41, 'Tibagi', -24.5153000, -50.4176000), +(4127601, 41, 'Tijucas do Sul', -25.9311000, -49.1950000), +(4127700, 41, 'Toledo', -24.7246000, -53.7412000), +(4127809, 41, 'Tomazina', -23.7796000, -49.9499000), +(4127858, 41, 'Três Barras do Paraná', -25.4185000, -53.1833000), +(4127882, 41, 'Tunas do Paraná', -24.9731000, -49.0879000), +(4127908, 41, 'Tuneiras do Oeste', -23.8648000, -52.8769000), +(4127957, 41, 'Tupãssi', -24.5879000, -53.5105000), +(4127965, 41, 'Turvo', -25.0437000, -51.5282000), +(4128005, 41, 'Ubiratã', -24.5393000, -52.9865000), +(4128104, 41, 'Umuarama', -23.7656000, -53.3201000), +(4128203, 41, 'União da Vitória', -26.2273000, -51.0873000), +(4128302, 41, 'Uniflor', -23.0868000, -52.1573000), +(4128401, 41, 'Uraí', -23.2000000, -50.7939000), +(4128500, 41, 'Wenceslau Braz', -23.8742000, -49.8032000), +(4128534, 41, 'Ventania', -24.2458000, -50.2376000), +(4128559, 41, 'Vera Cruz do Oeste', -25.0577000, -53.8771000), +(4128609, 41, 'Verê', -25.8772000, -52.9051000), +(4128625, 41, 'Alto Paraíso', -26.1146000, -52.7469000), +(4128633, 41, 'Doutor Ulysses', -24.5665000, -49.4219000), +(4128658, 41, 'Virmond', -25.3829000, -52.1987000), +(4128708, 41, 'Vitorino', -26.2683000, -52.7843000), +(4128807, 41, 'Xambrê', -23.7364000, -53.4884000), +(4200051, 42, 'Abdon Batista', -27.6126000, -51.0233000), +(4200101, 42, 'Abelardo Luz', -26.5716000, -52.3229000), +(4200200, 42, 'Agrolândia', -27.4087000, -49.8220000), +(4200309, 42, 'Agronômica', -27.2662000, -49.7080000), +(4200408, 42, 'Água Doce', -26.9985000, -51.5528000), +(4200507, 42, 'Águas de Chapecó', -27.0754000, -52.9808000), +(4200556, 42, 'Águas Frias', -26.8794000, -52.8568000), +(4200606, 42, 'Águas Mornas', -27.6963000, -48.8243000), +(4200705, 42, 'Alfredo Wagner', -27.7001000, -49.3273000), +(4200754, 42, 'Alto Bela Vista', -27.4333000, -51.9044000), +(4200804, 42, 'Anchieta', -26.5382000, -53.3319000), +(4200903, 42, 'Angelina', -27.5704000, -48.9879000), +(4201000, 42, 'Anita Garibaldi', -27.6897000, -51.1271000), +(4201109, 42, 'Anitápolis', -27.9012000, -49.1316000), +(4201208, 42, 'Antônio Carlos', -27.5191000, -48.7660000), +(4201257, 42, 'Apiúna', -27.0375000, -49.3885000), +(4201273, 42, 'Arabutã', -27.1587000, -52.1423000), +(4201307, 42, 'Araquari', -26.3754000, -48.7188000), +(4201406, 42, 'Araranguá', -28.9356000, -49.4918000), +(4201505, 42, 'Armazém', -28.2448000, -49.0215000), +(4201604, 42, 'Arroio Trinta', -26.9257000, -51.3407000), +(4201653, 42, 'Arvoredo', -27.0748000, -52.4543000), +(4201703, 42, 'Ascurra', -26.9548000, -49.3783000), +(4201802, 42, 'Atalanta', -27.4219000, -49.7789000), +(4201901, 42, 'Aurora', -27.3098000, -49.6295000), +(4201950, 42, 'Balneário Arroio do Silva', -28.9806000, -49.4237000), +(4202008, 42, 'Balneário Camboriú', -26.9926000, -48.6352000), +(4202057, 42, 'Balneário Barra do Sul', -26.4597000, -48.6123000), +(4202073, 42, 'Balneário Gaivota', -29.1527000, -49.5841000), +(4202081, 42, 'Bandeirante', -26.7705000, -53.6413000), +(4202099, 42, 'Barra Bonita', -26.6540000, -53.4400000), +(4202107, 42, 'Barra Velha', -26.6370000, -48.6933000), +(4202131, 42, 'Bela Vista do Toldo', -26.2746000, -50.4664000), +(4202156, 42, 'Belmonte', -26.8430000, -53.5758000), +(4202206, 42, 'Benedito Novo', -26.7810000, -49.3593000), +(4202305, 42, 'Biguaçu', -27.4960000, -48.6598000), +(4202404, 42, 'Blumenau', -26.9155000, -49.0709000), +(4202438, 42, 'Bocaina do Sul', -27.7455000, -49.9423000), +(4202453, 42, 'Bombinhas', -27.1382000, -48.5146000), +(4202503, 42, 'Bom Jardim da Serra', -28.3377000, -49.6373000), +(4202537, 42, 'Bom Jesus', -26.7326000, -52.3919000), +(4202578, 42, 'Bom Jesus do Oeste', -26.6927000, -53.0967000), +(4202602, 42, 'Bom Retiro', -27.7990000, -49.4870000), +(4202701, 42, 'Botuverá', -27.2007000, -49.0689000), +(4202800, 42, 'Braço do Norte', -28.2681000, -49.1701000), +(4202859, 42, 'Braço do Trombudo', -27.3586000, -49.8821000), +(4202875, 42, 'Brunópolis', -27.3058000, -50.8684000), +(4202909, 42, 'Brusque', -27.0977000, -48.9107000), +(4203006, 42, 'Caçador', -26.7757000, -51.0120000), +(4203105, 42, 'Caibi', -27.0741000, -53.2458000), +(4203154, 42, 'Calmon', -26.5942000, -51.0950000), +(4203204, 42, 'Camboriú', -27.0241000, -48.6503000), +(4203253, 42, 'Capão Alto', -27.9389000, -50.5098000), +(4203303, 42, 'Campo Alegre', -26.1950000, -49.2676000), +(4203402, 42, 'Campo Belo do Sul', -27.8975000, -50.7595000), +(4203501, 42, 'Campo Erê', -26.3931000, -53.0856000), +(4203600, 42, 'Campos Novos', -27.4002000, -51.2276000), +(4203709, 42, 'Canelinha', -27.2616000, -48.7658000), +(4203808, 42, 'Canoinhas', -26.1766000, -50.3950000), +(4203907, 42, 'Capinzal', -27.3473000, -51.6057000), +(4203956, 42, 'Capivari de Baixo', -28.4498000, -48.9631000), +(4204004, 42, 'Catanduvas', -27.0690000, -51.6602000), +(4204103, 42, 'Caxambu do Sul', -27.1624000, -52.8807000), +(4204152, 42, 'Celso Ramos', -27.6327000, -51.3350000), +(4204178, 42, 'Cerro Negro', -27.7942000, -50.8673000), +(4204194, 42, 'Chapadão do Lageado', -27.5905000, -49.5539000), +(4204202, 42, 'Chapecó', -27.1004000, -52.6152000), +(4204251, 42, 'Cocal do Sul', -28.5986000, -49.3335000), +(4204301, 42, 'Concórdia', -27.2335000, -52.0260000), +(4204350, 42, 'Cordilheira Alta', -26.9844000, -52.6056000), +(4204400, 42, 'Coronel Freitas', -26.9057000, -52.7011000), +(4204459, 42, 'Coronel Martins', -26.5110000, -52.6694000), +(4204509, 42, 'Corupá', -26.4246000, -49.2460000), +(4204558, 42, 'Correia Pinto', -27.5877000, -50.3614000), +(4204608, 42, 'Criciúma', -28.6723000, -49.3729000), +(4204707, 42, 'Cunha Porã', -26.8950000, -53.1662000), +(4204756, 42, 'Cunhataí', -26.9709000, -53.0895000), +(4204806, 42, 'Curitibanos', -27.2824000, -50.5816000), +(4204905, 42, 'Descanso', -26.8270000, -53.5034000), +(4205001, 42, 'Dionísio Cerqueira', -26.2648000, -53.6351000), +(4205100, 42, 'Dona Emma', -26.9810000, -49.7261000), +(4205159, 42, 'Doutor Pedrinho', -26.7174000, -49.4795000), +(4205175, 42, 'Entre Rios', -26.7225000, -52.5585000), +(4205191, 42, 'Ermo', -28.9869000, -49.6430000), +(4205209, 42, 'Erval Velho', -27.2743000, -51.4430000), +(4205308, 42, 'Faxinal dos Guedes', -26.8451000, -52.2596000), +(4205357, 42, 'Flor do Sertão', -26.7811000, -53.3505000), +(4205407, 42, 'Florianópolis', -27.5945000, -48.5477000), +(4205431, 42, 'Formosa do Sul', -26.6453000, -52.7946000), +(4205456, 42, 'Forquilhinha', -28.7454000, -49.4785000), +(4205506, 42, 'Fraiburgo', -27.0233000, -50.9200000), +(4205555, 42, 'Frei Rogério', -27.1750000, -50.8076000), +(4205605, 42, 'Galvão', -26.4549000, -52.6875000), +(4205704, 42, 'Garopaba', -28.0275000, -48.6192000), +(4205803, 42, 'Garuva', -26.0292000, -48.8520000), +(4205902, 42, 'Gaspar', -26.9336000, -48.9534000), +(4206009, 42, 'Governador Celso Ramos', -27.3172000, -48.5576000), +(4206108, 42, 'Grão Pará', -28.1809000, -49.2252000), +(4206207, 42, 'Gravatal', -28.3208000, -49.0427000), +(4206306, 42, 'Guabiruba', -27.0808000, -48.9804000), +(4206405, 42, 'Guaraciaba', -26.6042000, -53.5243000), +(4206504, 42, 'Guaramirim', -26.4688000, -49.0026000), +(4206603, 42, 'Guarujá do Sul', -26.3858000, -53.5296000), +(4206652, 42, 'Guatambú', -27.1341000, -52.7887000), +(4206702, 42, "Herval d'Oeste", -27.1903000, -51.4917000), +(4206751, 42, 'Ibiam', -27.1847000, -51.2352000), +(4206801, 42, 'Ibicaré', -27.0881000, -51.3681000), +(4206900, 42, 'Ibirama', -27.0547000, -49.5193000), +(4207007, 42, 'Içara', -28.7132000, -49.3087000), +(4207106, 42, 'Ilhota', -26.9023000, -48.8251000), +(4207205, 42, 'Imaruí', -28.3339000, -48.8170000), +(4207304, 42, 'Imbituba', -28.2284000, -48.6659000), +(4207403, 42, 'Imbuia', -27.4908000, -49.4218000), +(4207502, 42, 'Indaial', -26.8992000, -49.2354000), +(4207577, 42, 'Iomerê', -27.0019000, -51.2442000), +(4207601, 42, 'Ipira', -27.4038000, -51.7758000), +(4207650, 42, 'Iporã do Oeste', -26.9854000, -53.5355000), +(4207684, 42, 'Ipuaçu', -26.6350000, -52.4556000), +(4207700, 42, 'Ipumirim', -27.0772000, -52.1289000), +(4207759, 42, 'Iraceminha', -26.8215000, -53.2767000), +(4207809, 42, 'Irani', -27.0287000, -51.9012000), +(4207858, 42, 'Irati', -26.6539000, -52.8955000), +(4207908, 42, 'Irineópolis', -26.2420000, -50.7957000), +(4208005, 42, 'Itá', -27.2907000, -52.3212000), +(4208104, 42, 'Itaiópolis', -26.3390000, -49.9092000), +(4208203, 42, 'Itajaí', -26.9101000, -48.6705000), +(4208302, 42, 'Itapema', -27.0861000, -48.6160000), +(4208401, 42, 'Itapiranga', -27.1659000, -53.7166000), +(4208450, 42, 'Itapoá', -26.1158000, -48.6182000), +(4208500, 42, 'Ituporanga', -27.4101000, -49.5963000), +(4208609, 42, 'Jaborá', -27.1782000, -51.7279000), +(4208708, 42, 'Jacinto Machado', -28.9961000, -49.7623000), +(4208807, 42, 'Jaguaruna', -28.6146000, -49.0296000), +(4208906, 42, 'Jaraguá do Sul', -26.4851000, -49.0713000), +(4208955, 42, 'Jardinópolis', -26.7191000, -52.8625000), +(4209003, 42, 'Joaçaba', -27.1721000, -51.5108000), +(4209102, 42, 'Joinville', -26.3045000, -48.8487000), +(4209151, 42, 'José Boiteux', -26.9566000, -49.6286000), +(4209177, 42, 'Jupiá', -26.3950000, -52.7298000), +(4209201, 42, 'Lacerdópolis', -27.2579000, -51.5577000), +(4209300, 42, 'Lages', -27.8150000, -50.3259000), +(4209409, 42, 'Laguna', -28.4843000, -48.7772000), +(4209458, 42, 'Lajeado Grande', -26.8576000, -52.5648000), +(4209508, 42, 'Laurentino', -27.2173000, -49.7331000), +(4209607, 42, 'Lauro Muller', -28.3859000, -49.4035000), +(4209706, 42, 'Lebon Régis', -26.9280000, -50.6921000), +(4209805, 42, 'Leoberto Leal', -27.5081000, -49.2789000), +(4209854, 42, 'Lindóia do Sul', -27.0545000, -52.0690000), +(4209904, 42, 'Lontras', -27.1684000, -49.5350000), +(4210001, 42, 'Luiz Alves', -26.7151000, -48.9322000), +(4210035, 42, 'Luzerna', -27.1304000, -51.4682000), +(4210050, 42, 'Macieira', -26.8552000, -51.3705000), +(4210100, 42, 'Mafra', -26.1159000, -49.8086000), +(4210209, 42, 'Major Gercino', -27.4192000, -48.9488000), +(4210308, 42, 'Major Vieira', -26.3709000, -50.3266000), +(4210407, 42, 'Maracajá', -28.8463000, -49.4605000), +(4210506, 42, 'Maravilha', -26.7665000, -53.1737000), +(4210555, 42, 'Marema', -26.8024000, -52.6264000), +(4210605, 42, 'Massaranduba', -26.6109000, -49.0054000), +(4210704, 42, 'Matos Costa', -26.4709000, -51.1501000), +(4210803, 42, 'Meleiro', -28.8244000, -49.6378000), +(4210852, 42, 'Mirim Doce', -27.1970000, -50.0786000), +(4210902, 42, 'Modelo', -26.7729000, -53.0400000), +(4211009, 42, 'Mondaí', -27.1008000, -53.4032000), +(4211058, 42, 'Monte Carlo', -27.2239000, -50.9808000), +(4211108, 42, 'Monte Castelo', -26.4610000, -50.2327000), +(4211207, 42, 'Morro da Fumaça', -28.6511000, -49.2169000), +(4211256, 42, 'Morro Grande', -28.8006000, -49.7214000), +(4211306, 42, 'Navegantes', -26.8943000, -48.6546000), +(4211405, 42, 'Nova Erechim', -26.8982000, -52.9066000), +(4211454, 42, 'Nova Itaberaba', -26.9428000, -52.8141000), +(4211504, 42, 'Nova Trento', -27.2780000, -48.9298000), +(4211603, 42, 'Nova Veneza', -28.6338000, -49.5055000), +(4211652, 42, 'Novo Horizonte', -26.4442000, -52.8281000), +(4211702, 42, 'Orleans', -28.3487000, -49.2986000), +(4211751, 42, 'Otacílio Costa', -27.4789000, -50.1231000), +(4211801, 42, 'Ouro', -27.3379000, -51.6194000), +(4211850, 42, 'Ouro Verde', -26.6920000, -52.3108000), +(4211876, 42, 'Paial', -27.2541000, -52.4975000), +(4211892, 42, 'Painel', -27.9234000, -50.0972000), +(4211900, 42, 'Palhoça', -27.6455000, -48.6697000), +(4212007, 42, 'Palma Sola', -26.3471000, -53.2771000), +(4212056, 42, 'Palmeira', -27.5830000, -50.1577000), +(4212106, 42, 'Palmitos', -27.0702000, -53.1586000), +(4212205, 42, 'Papanduva', -26.3777000, -50.1419000), +(4212239, 42, 'Paraíso', -26.6200000, -53.6716000), +(4212254, 42, 'Passo de Torres', -29.3099000, -49.7220000), +(4212270, 42, 'Passos Maia', -26.7829000, -52.0568000), +(4212304, 42, 'Paulo Lopes', -27.9607000, -48.6864000), +(4212403, 42, 'Pedras Grandes', -28.4339000, -49.1949000), +(4212502, 42, 'Penha', -26.7754000, -48.6465000), +(4212601, 42, 'Peritiba', -27.3754000, -51.9018000), +(4212650, 42, 'Pescaria Brava', -28.3966000, -48.8864000), +(4212700, 42, 'Petrolândia', -27.5346000, -49.6937000), +(4212809, 42, 'Balneário Piçarras', -26.7639000, -48.6717000), +(4212908, 42, 'Pinhalzinho', -26.8495000, -52.9913000), +(4213005, 42, 'Pinheiro Preto', -27.0483000, -51.2243000), +(4213104, 42, 'Piratuba', -27.4242000, -51.7668000), +(4213153, 42, 'Planalto Alegre', -27.0704000, -52.8670000), +(4213203, 42, 'Pomerode', -26.7384000, -49.1785000), +(4213302, 42, 'Ponte Alta', -27.4835000, -50.3764000), +(4213351, 42, 'Ponte Alta do Norte', -27.1591000, -50.4659000), +(4213401, 42, 'Ponte Serrada', -26.8733000, -52.0112000), +(4213500, 42, 'Porto Belo', -27.1586000, -48.5469000), +(4213609, 42, 'Porto União', -26.2451000, -51.0759000), +(4213708, 42, 'Pouso Redondo', -27.2567000, -49.9301000), +(4213807, 42, 'Praia Grande', -29.1918000, -49.9525000), +(4213906, 42, 'Presidente Castello Branco', -27.2218000, -51.8089000), +(4214003, 42, 'Presidente Getúlio', -27.0474000, -49.6246000), +(4214102, 42, 'Presidente Nereu', -27.2768000, -49.3889000), +(4214151, 42, 'Princesa', -26.4441000, -53.5994000), +(4214201, 42, 'Quilombo', -26.7264000, -52.7240000), +(4214300, 42, 'Rancho Queimado', -27.6727000, -49.0191000), +(4214409, 42, 'Rio das Antas', -26.8946000, -51.0674000), +(4214508, 42, 'Rio do Campo', -26.9452000, -50.1360000), +(4214607, 42, 'Rio do Oeste', -27.1952000, -49.7989000), +(4214706, 42, 'Rio dos Cedros', -26.7398000, -49.2718000), +(4214805, 42, 'Rio do Sul', -27.2156000, -49.6430000), +(4214904, 42, 'Rio Fortuna', -28.1244000, -49.1068000), +(4215000, 42, 'Rio Negrinho', -26.2591000, -49.5177000), +(4215059, 42, 'Rio Rufino', -27.8592000, -49.7754000), +(4215075, 42, 'Riqueza', -27.0653000, -53.3265000), +(4215109, 42, 'Rodeio', -26.9243000, -49.3649000), +(4215208, 42, 'Romelândia', -26.6809000, -53.3172000), +(4215307, 42, 'Salete', -26.9798000, -49.9988000), +(4215356, 42, 'Saltinho', -26.6049000, -53.0578000), +(4215406, 42, 'Salto Veloso', -26.9030000, -51.4043000), +(4215455, 42, 'Sangão', -28.6326000, -49.1322000), +(4215505, 42, 'Santa Cecília', -26.9592000, -50.4252000), +(4215554, 42, 'Santa Helena', -26.9370000, -53.6214000), +(4215604, 42, 'Santa Rosa de Lima', -28.0331000, -49.1330000), +(4215653, 42, 'Santa Rosa do Sul', -29.1313000, -49.7109000), +(4215679, 42, 'Santa Terezinha', -26.7813000, -50.0090000), +(4215687, 42, 'Santa Terezinha do Progresso', -26.6240000, -53.1997000), +(4215695, 42, 'Santiago do Sul', -26.6388000, -52.6799000), +(4215703, 42, 'Santo Amaro da Imperatriz', -27.6852000, -48.7813000), +(4215752, 42, 'São Bernardino', -26.4739000, -52.9687000), +(4215802, 42, 'São Bento do Sul', -26.2495000, -49.3831000), +(4215901, 42, 'São Bonifácio', -27.9009000, -48.9326000), +(4216008, 42, 'São Carlos', -27.0798000, -53.0037000), +(4216057, 42, 'São Cristovão do Sul', -27.2666000, -50.4388000), +(4216107, 42, 'São Domingos', -26.5548000, -52.5313000), +(4216206, 42, 'São Francisco do Sul', -26.2579000, -48.6344000), +(4216255, 42, 'São João do Oeste', -27.0984000, -53.5977000), +(4216305, 42, 'São João Batista', -27.2772000, -48.8474000), +(4216354, 42, 'São João do Itaperiú', -26.6213000, -48.7683000), +(4216404, 42, 'São João do Sul', -29.2154000, -49.8094000), +(4216503, 42, 'São Joaquim', -28.2887000, -49.9457000), +(4216602, 42, 'São José', -27.6136000, -48.6366000), +(4216701, 42, 'São José do Cedro', -26.4561000, -53.4955000), +(4216800, 42, 'São José do Cerrito', -27.6602000, -50.5733000), +(4216909, 42, 'São Lourenço do Oeste', -26.3557000, -52.8498000), +(4217006, 42, 'São Ludgero', -28.3144000, -49.1806000), +(4217105, 42, 'São Martinho', -28.1609000, -48.9867000), +(4217154, 42, 'São Miguel da Boa Vista', -26.6870000, -53.2511000), +(4217204, 42, 'São Miguel do Oeste', -26.7242000, -53.5163000), +(4217253, 42, 'São Pedro de Alcântara', -27.5665000, -48.8048000), +(4217303, 42, 'Saudades', -26.9317000, -53.0021000), +(4217402, 42, 'Schroeder', -26.4116000, -49.0740000), +(4217501, 42, 'Seara', -27.1564000, -52.2990000), +(4217550, 42, 'Serra Alta', -26.7229000, -53.0409000), +(4217600, 42, 'Siderópolis', -28.5955000, -49.4314000), +(4217709, 42, 'Sombrio', -29.1080000, -49.6328000), +(4217758, 42, 'Sul Brasil', -26.7351000, -52.9640000), +(4217808, 42, 'Taió', -27.1210000, -49.9942000), +(4217907, 42, 'Tangará', -27.0996000, -51.2473000), +(4217956, 42, 'Tigrinhos', -26.6876000, -53.1545000), +(4218004, 42, 'Tijucas', -27.2354000, -48.6322000), +(4218103, 42, 'Timbé do Sul', -28.8287000, -49.8420000), +(4218202, 42, 'Timbó', -26.8246000, -49.2690000), +(4218251, 42, 'Timbó Grande', -26.6127000, -50.6607000), +(4218301, 42, 'Três Barras', -26.1056000, -50.3197000), +(4218350, 42, 'Treviso', -28.5097000, -49.4634000), +(4218400, 42, 'Treze de Maio', -28.5537000, -49.1565000), +(4218509, 42, 'Treze Tílias', -27.0026000, -51.4084000), +(4218608, 42, 'Trombudo Central', -27.3033000, -49.7930000), +(4218707, 42, 'Tubarão', -28.4713000, -49.0144000), +(4218756, 42, 'Tunápolis', -26.9681000, -53.6417000), +(4218806, 42, 'Turvo', -28.9272000, -49.6831000), +(4218855, 42, 'União do Oeste', -26.7620000, -52.8541000), +(4218905, 42, 'Urubici', -28.0157000, -49.5925000), +(4218954, 42, 'Urupema', -27.9557000, -49.8729000), +(4219002, 42, 'Urussanga', -28.5180000, -49.3238000), +(4219101, 42, 'Vargeão', -26.8621000, -52.1549000), +(4219150, 42, 'Vargem', -27.4867000, -50.9724000), +(4219176, 42, 'Vargem Bonita', -27.0055000, -51.7402000), +(4219200, 42, 'Vidal Ramos', -27.3886000, -49.3593000), +(4219309, 42, 'Videira', -27.0086000, -51.1543000), +(4219358, 42, 'Vitor Meireles', -26.8782000, -49.8328000), +(4219408, 42, 'Witmarsum', -26.9275000, -49.7947000), +(4219507, 42, 'Xanxerê', -26.8747000, -52.4036000), +(4219606, 42, 'Xavantina', -27.0667000, -52.3430000), +(4219705, 42, 'Xaxim', -26.9596000, -52.5374000), +(4219853, 42, 'Zortéa', -27.4521000, -51.5520000), +(4220000, 42, 'Balneário Rincão', -28.8314000, -49.2352000), +(4300034, 43, 'Aceguá', -31.8665000, -54.1615000), +(4300059, 43, 'Água Santa', -28.1672000, -52.0310000), +(4300109, 43, 'Agudo', -29.6447000, -53.2515000), +(4300208, 43, 'Ajuricaba', -28.2342000, -53.7757000), +(4300307, 43, 'Alecrim', -27.6579000, -54.7649000), +(4300406, 43, 'Alegrete', -29.7902000, -55.7949000), +(4300455, 43, 'Alegria', -27.8345000, -54.0557000), +(4300471, 43, 'Almirante Tamandaré do Sul', -28.1149000, -52.9142000), +(4300505, 43, 'Alpestre', -27.2502000, -53.0341000), +(4300554, 43, 'Alto Alegre', -28.7769000, -52.9893000), +(4300570, 43, 'Alto Feliz', -29.3919000, -51.3123000), +(4300604, 43, 'Alvorada', -29.9914000, -51.0809000), +(4300638, 43, 'Amaral Ferrador', -30.8756000, -52.2509000), +(4300646, 43, 'Ametista do Sul', -27.3607000, -53.1830000), +(4300661, 43, 'André da Rocha', -28.6283000, -51.5797000), +(4300703, 43, 'Anta Gorda', -28.9698000, -52.0102000), +(4300802, 43, 'Antônio Prado', -28.8565000, -51.2883000), +(4300851, 43, 'Arambaré', -30.9092000, -51.5046000), +(4300877, 43, 'Araricá', -29.6168000, -50.9291000), +(4300901, 43, 'Aratiba', -27.3978000, -52.2975000), +(4301008, 43, 'Arroio do Meio', -29.4014000, -51.9557000), +(4301057, 43, 'Arroio do Sal', -29.5439000, -49.8895000), +(4301073, 43, 'Arroio do Padre', -31.4389000, -52.4246000), +(4301107, 43, 'Arroio dos Ratos', -30.0875000, -51.7275000), +(4301206, 43, 'Arroio do Tigre', -29.3348000, -53.0966000), +(4301305, 43, 'Arroio Grande', -32.2327000, -53.0862000), +(4301404, 43, 'Arvorezinha', -28.8737000, -52.1781000), +(4301503, 43, 'Augusto Pestana', -28.5172000, -53.9883000), +(4301552, 43, 'Áurea', -27.6936000, -52.0505000), +(4301602, 43, 'Bagé', -31.3297000, -54.0999000), +(4301636, 43, 'Balneário Pinhal', -30.2419000, -50.2337000), +(4301651, 43, 'Barão', -29.3725000, -51.4949000), +(4301701, 43, 'Barão de Cotegipe', -27.6208000, -52.3798000), +(4301750, 43, 'Barão do Triunfo', -30.3891000, -51.7384000), +(4301800, 43, 'Barracão', -27.6739000, -51.4585000), +(4301859, 43, 'Barra do Guarita', -27.1927000, -53.7109000), +(4301875, 43, 'Barra do Quaraí', -30.2029000, -57.5497000), +(4301909, 43, 'Barra do Ribeiro', -30.2939000, -51.3014000), +(4301925, 43, 'Barra do Rio Azul', -27.4069000, -52.4084000), +(4301958, 43, 'Barra Funda', -27.9205000, -53.0391000), +(4302006, 43, 'Barros Cassal', -29.0947000, -52.5836000), +(4302055, 43, 'Benjamin Constant do Sul', -27.5086000, -52.5995000), +(4302105, 43, 'Bento Gonçalves', -29.1662000, -51.5165000), +(4302154, 43, 'Boa Vista das Missões', -27.6671000, -53.3102000), +(4302204, 43, 'Boa Vista do Buricá', -27.6693000, -54.1082000), +(4302220, 43, 'Boa Vista do Cadeado', -28.5791000, -53.8108000), +(4302238, 43, 'Boa Vista do Incra', -28.8185000, -53.3910000), +(4302253, 43, 'Boa Vista do Sul', -29.3544000, -51.6687000), +(4302303, 43, 'Bom Jesus', -28.6697000, -50.4295000), +(4302352, 43, 'Bom Princípio', -29.4856000, -51.3548000), +(4302378, 43, 'Bom Progresso', -27.5399000, -53.8716000), +(4302402, 43, 'Bom Retiro do Sul', -29.6071000, -51.9456000), +(4302451, 43, 'Boqueirão do Leão', -29.3046000, -52.4284000), +(4302501, 43, 'Bossoroca', -28.7291000, -54.9035000), +(4302584, 43, 'Bozano', -28.3659000, -53.7720000), +(4302600, 43, 'Braga', -27.6173000, -53.7405000), +(4302659, 43, 'Brochier', -29.5501000, -51.5945000), +(4302709, 43, 'Butiá', -30.1179000, -51.9601000), +(4302808, 43, 'Caçapava do Sul', -30.5144000, -53.4827000), +(4302907, 43, 'Cacequi', -29.8883000, -54.8220000), +(4303004, 43, 'Cachoeira do Sul', -30.0330000, -52.8928000), +(4303103, 43, 'Cachoeirinha', -29.9472000, -51.1016000), +(4303202, 43, 'Cacique Doble', -27.7670000, -51.6597000), +(4303301, 43, 'Caibaté', -28.2905000, -54.6454000), +(4303400, 43, 'Caiçara', -27.2791000, -53.4257000), +(4303509, 43, 'Camaquã', -30.8489000, -51.8043000), +(4303558, 43, 'Camargo', -28.5880000, -52.2003000), +(4303608, 43, 'Cambará do Sul', -29.0474000, -50.1465000), +(4303673, 43, 'Campestre da Serra', -28.7926000, -51.0941000), +(4303707, 43, 'Campina das Missões', -27.9888000, -54.8416000), +(4303806, 43, 'Campinas do Sul', -27.7174000, -52.6248000), +(4303905, 43, 'Campo Bom', -29.6747000, -51.0606000), +(4304002, 43, 'Campo Novo', -27.6792000, -53.8052000), +(4304101, 43, 'Campos Borges', -28.8871000, -53.0008000), +(4304200, 43, 'Candelária', -29.6684000, -52.7895000), +(4304309, 43, 'Cândido Godói', -27.9515000, -54.7517000), +(4304358, 43, 'Candiota', -31.5516000, -53.6773000), +(4304408, 43, 'Canela', -29.3560000, -50.8119000), +(4304507, 43, 'Canguçu', -31.3960000, -52.6783000), +(4304606, 43, 'Canoas', -29.9128000, -51.1857000), +(4304614, 43, 'Canudos do Vale', -29.3271000, -52.2374000), +(4304622, 43, 'Capão Bonito do Sul', -28.1254000, -51.3961000), +(4304630, 43, 'Capão da Canoa', -29.7642000, -50.0282000), +(4304655, 43, 'Capão do Cipó', -28.9312000, -54.5558000), +(4304663, 43, 'Capão do Leão', -31.7565000, -52.4889000), +(4304671, 43, 'Capivari do Sul', -30.1383000, -50.5152000), +(4304689, 43, 'Capela de Santana', -29.6961000, -51.3280000), +(4304697, 43, 'Capitão', -29.2674000, -51.9853000), +(4304705, 43, 'Carazinho', -28.2958000, -52.7933000), +(4304713, 43, 'Caraá', -29.7869000, -50.4316000), +(4304804, 43, 'Carlos Barbosa', -29.2969000, -51.5028000), +(4304853, 43, 'Carlos Gomes', -27.7167000, -51.9121000), +(4304903, 43, 'Casca', -28.5605000, -51.9815000), +(4304952, 43, 'Caseiros', -28.2582000, -51.6861000), +(4305009, 43, 'Catuípe', -28.2554000, -54.0132000), +(4305108, 43, 'Caxias do Sul', -29.1629000, -51.1792000), +(4305116, 43, 'Centenário', -27.7615000, -51.9984000), +(4305124, 43, 'Cerrito', -31.8419000, -52.8004000), +(4305132, 43, 'Cerro Branco', -29.6570000, -52.9406000), +(4305157, 43, 'Cerro Grande', -27.6106000, -53.1672000), +(4305173, 43, 'Cerro Grande do Sul', -30.5905000, -51.7418000), +(4305207, 43, 'Cerro Largo', -28.1463000, -54.7428000), +(4305306, 43, 'Chapada', -28.0559000, -53.0665000), +(4305355, 43, 'Charqueadas', -29.9625000, -51.6289000), +(4305371, 43, 'Charrua', -27.9493000, -52.0150000), +(4305405, 43, 'Chiapetta', -27.9230000, -53.9419000), +(4305439, 43, 'Chuí', -33.6866000, -53.4594000), +(4305447, 43, 'Chuvisca', -30.7504000, -51.9737000), +(4305454, 43, 'Cidreira', -30.1604000, -50.2337000), +(4305504, 43, 'Ciríaco', -28.3419000, -51.8741000), +(4305587, 43, 'Colinas', -29.3948000, -51.8556000), +(4305603, 43, 'Colorado', -28.5258000, -52.9928000), +(4305702, 43, 'Condor', -28.2075000, -53.4905000), +(4305801, 43, 'Constantina', -27.7320000, -52.9938000), +(4305835, 43, 'Coqueiro Baixo', -29.1802000, -52.0942000), +(4305850, 43, 'Coqueiros do Sul', -28.1194000, -52.7842000), +(4305871, 43, 'Coronel Barros', -28.3921000, -54.0686000), +(4305900, 43, 'Coronel Bicaco', -27.7197000, -53.7022000), +(4305934, 43, 'Coronel Pilar', -29.2695000, -51.6847000), +(4305959, 43, 'Cotiporã', -28.9891000, -51.6971000), +(4305975, 43, 'Coxilha', -28.1280000, -52.3023000), +(4306007, 43, 'Crissiumal', -27.4999000, -54.0994000), +(4306056, 43, 'Cristal', -31.0046000, -52.0436000), +(4306072, 43, 'Cristal do Sul', -27.4520000, -53.2422000), +(4306106, 43, 'Cruz Alta', -28.6450000, -53.6048000), +(4306130, 43, 'Cruzaltense', -27.6672000, -52.6522000), +(4306205, 43, 'Cruzeiro do Sul', -29.5148000, -51.9928000), +(4306304, 43, 'David Canabarro', -28.3849000, -51.8482000), +(4306320, 43, 'Derrubadas', -27.2642000, -53.8645000), +(4306353, 43, 'Dezesseis de Novembro', -28.2190000, -55.0617000), +(4306379, 43, 'Dilermando de Aguiar', -29.7054000, -54.2122000), +(4306403, 43, 'Dois Irmãos', -29.5836000, -51.0898000), +(4306429, 43, 'Dois Irmãos das Missões', -27.6621000, -53.5304000), +(4306452, 43, 'Dois Lajeados', -28.9830000, -51.8396000), +(4306502, 43, 'Dom Feliciano', -30.7004000, -52.1026000), +(4306551, 43, 'Dom Pedro de Alcântara', -29.3639000, -49.8530000), +(4306601, 43, 'Dom Pedrito', -30.9756000, -54.6694000), +(4306700, 43, 'Dona Francisca', -29.6195000, -53.3617000), +(4306734, 43, 'Doutor Maurício Cardoso', -27.5103000, -54.3577000), +(4306759, 43, 'Doutor Ricardo', -29.0840000, -51.9972000), +(4306767, 43, 'Eldorado do Sul', -30.0847000, -51.6187000), +(4306809, 43, 'Encantado', -29.2351000, -51.8703000), +(4306908, 43, 'Encruzilhada do Sul', -30.5430000, -52.5204000), +(4306924, 43, 'Engenho Velho', -27.7060000, -52.9145000), +(4306932, 43, 'Entre-Ijuís', -28.3686000, -54.2686000), +(4306957, 43, 'Entre Rios do Sul', -27.5298000, -52.7347000), +(4306973, 43, 'Erebango', -27.8544000, -52.3005000), +(4307005, 43, 'Erechim', -27.6364000, -52.2697000), +(4307054, 43, 'Ernestina', -28.4977000, -52.5836000), +(4307104, 43, 'Herval', -32.0240000, -53.3944000), +(4307203, 43, 'Erval Grande', -27.3926000, -52.5740000), +(4307302, 43, 'Erval Seco', -27.5443000, -53.5005000), +(4307401, 43, 'Esmeralda', -28.0518000, -51.1933000), +(4307450, 43, 'Esperança do Sul', -27.3603000, -53.9891000), +(4307500, 43, 'Espumoso', -28.7286000, -52.8461000), +(4307559, 43, 'Estação', -27.9135000, -52.2635000), +(4307609, 43, 'Estância Velha', -29.6535000, -51.1843000), +(4307708, 43, 'Esteio', -29.8520000, -51.1841000), +(4307807, 43, 'Estrela', -29.5002000, -51.9495000), +(4307815, 43, 'Estrela Velha', -29.1713000, -53.1639000), +(4307831, 43, 'Eugênio de Castro', -28.5315000, -54.1506000), +(4307864, 43, 'Fagundes Varela', -28.8794000, -51.7014000), +(4307906, 43, 'Farroupilha', -29.2227000, -51.3419000), +(4308003, 43, 'Faxinal do Soturno', -29.5788000, -53.4484000), +(4308052, 43, 'Faxinalzinho', -27.4238000, -52.6789000), +(4308078, 43, 'Fazenda Vilanova', -29.5885000, -51.8217000), +(4308102, 43, 'Feliz', -29.4527000, -51.3032000), +(4308201, 43, 'Flores da Cunha', -29.0261000, -51.1875000), +(4308250, 43, 'Floriano Peixoto', -27.8614000, -52.0838000), +(4308300, 43, 'Fontoura Xavier', -28.9817000, -52.3445000), +(4308409, 43, 'Formigueiro', -30.0035000, -53.4959000), +(4308433, 43, 'Forquetinha', -29.3828000, -52.0981000), +(4308458, 43, 'Fortaleza dos Valos', -28.7986000, -53.2249000), +(4308508, 43, 'Frederico Westphalen', -27.3586000, -53.3958000), +(4308607, 43, 'Garibaldi', -29.2590000, -51.5352000), +(4308656, 43, 'Garruchos', -28.1944000, -55.6383000), +(4308706, 43, 'Gaurama', -27.5856000, -52.0915000), +(4308805, 43, 'General Câmara', -29.9032000, -51.7612000), +(4308854, 43, 'Gentil', -28.4316000, -52.0337000), +(4308904, 43, 'Getúlio Vargas', -27.8911000, -52.2294000), +(4309001, 43, 'Giruá', -28.0297000, -54.3517000), +(4309050, 43, 'Glorinha', -29.8798000, -50.7734000), +(4309100, 43, 'Gramado', -29.3734000, -50.8762000), +(4309126, 43, 'Gramado dos Loureiros', -27.4429000, -52.9149000), +(4309159, 43, 'Gramado Xavier', -29.2706000, -52.5795000), +(4309209, 43, 'Gravataí', -29.9413000, -50.9869000), +(4309258, 43, 'Guabiju', -28.5421000, -51.6948000), +(4309308, 43, 'Guaíba', -30.1086000, -51.3233000), +(4309407, 43, 'Guaporé', -28.8399000, -51.8895000), +(4309506, 43, 'Guarani das Missões', -28.1491000, -54.5629000), +(4309555, 43, 'Harmonia', -29.5456000, -51.4185000), +(4309571, 43, 'Herveiras', -29.4552000, -52.6553000), +(4309605, 43, 'Horizontina', -27.6282000, -54.3053000), +(4309654, 43, 'Hulha Negra', -31.4067000, -53.8667000), +(4309704, 43, 'Humaitá', -27.5691000, -53.9695000), +(4309753, 43, 'Ibarama', -29.4203000, -53.1295000), +(4309803, 43, 'Ibiaçá', -28.0566000, -51.8599000), +(4309902, 43, 'Ibiraiaras', -28.3741000, -51.6377000), +(4309951, 43, 'Ibirapuitã', -28.6247000, -52.5158000), +(4310009, 43, 'Ibirubá', -28.6302000, -53.0961000), +(4310108, 43, 'Igrejinha', -29.5693000, -50.7919000), +(4310207, 43, 'Ijuí', -28.3880000, -53.9200000), +(4310306, 43, 'Ilópolis', -28.9282000, -52.1258000), +(4310330, 43, 'Imbé', -29.9753000, -50.1281000), +(4310363, 43, 'Imigrante', -29.3508000, -51.7748000), +(4310405, 43, 'Independência', -27.8354000, -54.1886000), +(4310413, 43, 'Inhacorá', -27.8752000, -54.0150000), +(4310439, 43, 'Ipê', -28.8171000, -51.2859000), +(4310462, 43, 'Ipiranga do Sul', -27.9404000, -52.4271000), +(4310504, 43, 'Iraí', -27.1951000, -53.2543000), +(4310538, 43, 'Itaara', -29.6013000, -53.7725000), +(4310553, 43, 'Itacurubi', -28.7913000, -55.2447000), +(4310579, 43, 'Itapuca', -28.7768000, -52.1693000), +(4310603, 43, 'Itaqui', -29.1311000, -56.5515000), +(4310652, 43, 'Itati', -29.4974000, -50.1016000), +(4310702, 43, 'Itatiba do Sul', -27.3846000, -52.4538000), +(4310751, 43, 'Ivorá', -29.5232000, -53.5842000), +(4310801, 43, 'Ivoti', -29.5995000, -51.1533000), +(4310850, 43, 'Jaboticaba', -27.6347000, -53.2762000), +(4310876, 43, 'Jacuizinho', -29.0401000, -53.0657000), +(4310900, 43, 'Jacutinga', -27.7291000, -52.5372000), +(4311007, 43, 'Jaguarão', -32.5604000, -53.3770000), +(4311106, 43, 'Jaguari', -29.4936000, -54.7030000), +(4311122, 43, 'Jaquirana', -28.8811000, -50.3637000), +(4311130, 43, 'Jari', -29.2922000, -54.2237000), +(4311155, 43, 'Jóia', -28.6435000, -54.1141000), +(4311205, 43, 'Júlio de Castilhos', -29.2299000, -53.6772000), +(4311239, 43, 'Lagoa Bonita do Sul', -29.4939000, -53.0170000), +(4311254, 43, 'Lagoão', -29.2348000, -52.7997000), +(4311270, 43, 'Lagoa dos Três Cantos', -28.5676000, -52.8618000), +(4311304, 43, 'Lagoa Vermelha', -28.2093000, -51.5248000), +(4311403, 43, 'Lajeado', -29.4591000, -51.9644000), +(4311429, 43, 'Lajeado do Bugre', -27.6913000, -53.1818000), +(4311502, 43, 'Lavras do Sul', -30.8071000, -53.8931000), +(4311601, 43, 'Liberato Salzano', -27.6010000, -53.0753000), +(4311627, 43, 'Lindolfo Collor', -29.5859000, -51.2141000), +(4311643, 43, 'Linha Nova', -29.4679000, -51.2003000), +(4311700, 43, 'Machadinho', -27.5667000, -51.6668000), +(4311718, 43, 'Maçambará', -29.1445000, -56.0674000), +(4311734, 43, 'Mampituba', -29.2136000, -49.9311000), +(4311759, 43, 'Manoel Viana', -29.5859000, -55.4841000), +(4311775, 43, 'Maquiné', -29.6798000, -50.2079000), +(4311791, 43, 'Maratá', -29.5457000, -51.5573000), +(4311809, 43, 'Marau', -28.4498000, -52.1986000), +(4311908, 43, 'Marcelino Ramos', -27.4676000, -51.9095000), +(4311981, 43, 'Mariana Pimentel', -30.3530000, -51.5803000), +(4312005, 43, 'Mariano Moro', -27.3568000, -52.1467000), +(4312054, 43, 'Marques de Souza', -29.3311000, -52.0973000), +(4312104, 43, 'Mata', -29.5649000, -54.4641000), +(4312138, 43, 'Mato Castelhano', -28.2800000, -52.1932000), +(4312153, 43, 'Mato Leitão', -29.5285000, -52.1278000), +(4312179, 43, 'Mato Queimado', -28.2520000, -54.6159000), +(4312203, 43, 'Maximiliano de Almeida', -27.6325000, -51.8020000), +(4312252, 43, 'Minas do Leão', -30.1346000, -52.0423000), +(4312302, 43, 'Miraguaí', -27.4970000, -53.6891000), +(4312351, 43, 'Montauri', -28.6462000, -52.0767000), +(4312377, 43, 'Monte Alegre dos Campos', -28.6805000, -50.7834000), +(4312385, 43, 'Monte Belo do Sul', -29.1607000, -51.6333000), +(4312401, 43, 'Montenegro', -29.6824000, -51.4679000), +(4312427, 43, 'Mormaço', -28.6968000, -52.6999000), +(4312443, 43, 'Morrinhos do Sul', -29.3578000, -49.9328000), +(4312450, 43, 'Morro Redondo', -31.5887000, -52.6261000), +(4312476, 43, 'Morro Reuter', -29.5379000, -51.0811000), +(4312500, 43, 'Mostardas', -31.1054000, -50.9167000), +(4312609, 43, 'Muçum', -29.1630000, -51.8714000), +(4312617, 43, 'Muitos Capões', -28.3132000, -51.1836000), +(4312625, 43, 'Muliterno', -28.3253000, -51.7697000), +(4312658, 43, 'Não-Me-Toque', -28.4548000, -52.8182000), +(4312674, 43, 'Nicolau Vergueiro', -28.5298000, -52.4676000), +(4312708, 43, 'Nonoai', -27.3689000, -52.7756000), +(4312757, 43, 'Nova Alvorada', -28.6822000, -52.1631000), +(4312807, 43, 'Nova Araçá', -28.6537000, -51.7458000), +(4312906, 43, 'Nova Bassano', -28.7291000, -51.7072000), +(4312955, 43, 'Nova Boa Vista', -27.9926000, -52.9784000), +(4313003, 43, 'Nova Bréscia', -29.2182000, -52.0319000), +(4313011, 43, 'Nova Candelária', -27.6137000, -54.1074000), +(4313037, 43, 'Nova Esperança do Sul', -29.4066000, -54.8293000), +(4313060, 43, 'Nova Hartz', -29.5808000, -50.9051000), +(4313086, 43, 'Nova Pádua', -29.0275000, -51.3098000), +(4313102, 43, 'Nova Palma', -29.4710000, -53.4689000), +(4313201, 43, 'Nova Petrópolis', -29.3741000, -51.1136000), +(4313300, 43, 'Nova Prata', -28.7799000, -51.6113000), +(4313334, 43, 'Nova Ramada', -28.0667000, -53.6992000), +(4313359, 43, 'Nova Roma do Sul', -28.9882000, -51.4095000), +(4313375, 43, 'Nova Santa Rita', -29.8525000, -51.2837000), +(4313391, 43, 'Novo Cabrais', -29.7338000, -52.9489000), +(4313409, 43, 'Novo Hamburgo', -29.6875000, -51.1328000), +(4313425, 43, 'Novo Machado', -27.5765000, -54.5036000), +(4313441, 43, 'Novo Tiradentes', -27.5649000, -53.1837000), +(4313466, 43, 'Novo Xingu', -27.7490000, -53.0639000), +(4313490, 43, 'Novo Barreiro', -27.9077000, -53.1103000), +(4313508, 43, 'Osório', -29.8881000, -50.2667000), +(4313607, 43, 'Paim Filho', -27.7075000, -51.7630000), +(4313656, 43, 'Palmares do Sul', -30.2535000, -50.5103000), +(4313706, 43, 'Palmeira das Missões', -27.9007000, -53.3134000), +(4313805, 43, 'Palmitinho', -27.3596000, -53.5580000), +(4313904, 43, 'Panambi', -28.2833000, -53.5023000), +(4313953, 43, 'Pantano Grande', -30.1902000, -52.3729000), +(4314001, 43, 'Paraí', -28.5964000, -51.7896000), +(4314027, 43, 'Paraíso do Sul', -29.6717000, -53.1440000), +(4314035, 43, 'Pareci Novo', -29.6365000, -51.3974000), +(4314050, 43, 'Parobé', -29.6243000, -50.8312000), +(4314068, 43, 'Passa Sete', -29.4577000, -52.9599000), +(4314076, 43, 'Passo do Sobrado', -29.7480000, -52.2748000), +(4314100, 43, 'Passo Fundo', -28.2576000, -52.4091000), +(4314134, 43, 'Paulo Bento', -27.7051000, -52.4169000), +(4314159, 43, 'Paverama', -29.5486000, -51.7339000), +(4314175, 43, 'Pedras Altas', -31.7365000, -53.5814000), +(4314209, 43, 'Pedro Osório', -31.8642000, -52.8184000), +(4314308, 43, 'Pejuçara', -28.4283000, -53.6579000), +(4314407, 43, 'Pelotas', -31.7649000, -52.3371000), +(4314423, 43, 'Picada Café', -29.4464000, -51.1367000), +(4314456, 43, 'Pinhal', -27.5080000, -53.2082000), +(4314464, 43, 'Pinhal da Serra', -27.8751000, -51.1673000), +(4314472, 43, 'Pinhal Grande', -29.3450000, -53.3206000), +(4314498, 43, 'Pinheirinho do Vale', -27.2109000, -53.6080000), +(4314506, 43, 'Pinheiro Machado', -31.5794000, -53.3798000), +(4314548, 43, 'Pinto Bandeira', -29.0975000, -51.4503000), +(4314555, 43, 'Pirapó', -28.0439000, -55.2001000), +(4314605, 43, 'Piratini', -31.4473000, -53.0973000), +(4314704, 43, 'Planalto', -27.3297000, -53.0575000), +(4314753, 43, 'Poço das Antas', -29.4481000, -51.6719000), +(4314779, 43, 'Pontão', -28.0585000, -52.6791000), +(4314787, 43, 'Ponte Preta', -27.6587000, -52.4848000), +(4314803, 43, 'Portão', -29.7015000, -51.2429000), +(4314902, 43, 'Porto Alegre', -30.0318000, -51.2065000), +(4315008, 43, 'Porto Lucena', -27.8569000, -55.0100000), +(4315057, 43, 'Porto Mauá', -27.5796000, -54.6657000), +(4315073, 43, 'Porto Vera Cruz', -27.7405000, -54.8994000), +(4315107, 43, 'Porto Xavier', -27.9082000, -55.1379000), +(4315131, 43, 'Pouso Novo', -29.1738000, -52.2136000), +(4315149, 43, 'Presidente Lucena', -29.5175000, -51.1798000), +(4315156, 43, 'Progresso', -29.2441000, -52.3197000), +(4315172, 43, 'Protásio Alves', -28.7572000, -51.4757000), +(4315206, 43, 'Putinga', -29.0045000, -52.1569000), +(4315305, 43, 'Quaraí', -30.3840000, -56.4483000), +(4315313, 43, 'Quatro Irmãos', -27.8257000, -52.4424000), +(4315321, 43, 'Quevedos', -29.3504000, -54.0789000), +(4315354, 43, 'Quinze de Novembro', -28.7466000, -53.1011000), +(4315404, 43, 'Redentora', -27.6640000, -53.6407000), +(4315453, 43, 'Relvado', -29.1164000, -52.0778000), +(4315503, 43, 'Restinga Sêca', -29.8188000, -53.3807000), +(4315552, 43, 'Rio dos Índios', -27.2973000, -52.8417000), +(4315602, 43, 'Rio Grande', -32.0349000, -52.1071000), +(4315701, 43, 'Rio Pardo', -29.9880000, -52.3711000), +(4315750, 43, 'Riozinho', -29.6390000, -50.4488000), +(4315800, 43, 'Roca Sales', -29.2884000, -51.8658000), +(4315909, 43, 'Rodeio Bonito', -27.4742000, -53.1706000), +(4315958, 43, 'Rolador', -28.2566000, -54.8186000), +(4316006, 43, 'Rolante', -29.6462000, -50.5819000), +(4316105, 43, 'Ronda Alta', -27.7758000, -52.8056000), +(4316204, 43, 'Rondinha', -27.8315000, -52.9081000), +(4316303, 43, 'Roque Gonzales', -28.1297000, -55.0266000), +(4316402, 43, 'Rosário do Sul', -30.2515000, -54.9221000), +(4316428, 43, 'Sagrada Família', -27.7085000, -53.1351000), +(4316436, 43, 'Saldanha Marinho', -28.3941000, -53.0970000), +(4316451, 43, 'Salto do Jacuí', -29.0951000, -53.2133000), +(4316477, 43, 'Salvador das Missões', -28.1233000, -54.8373000), +(4316501, 43, 'Salvador do Sul', -29.4386000, -51.5077000), +(4316600, 43, 'Sananduva', -27.9470000, -51.8079000), +(4316709, 43, 'Santa Bárbara do Sul', -28.3653000, -53.2510000), +(4316733, 43, 'Santa Cecília do Sul', -28.1609000, -51.9279000), +(4316758, 43, 'Santa Clara do Sul', -29.4747000, -52.0843000), +(4316808, 43, 'Santa Cruz do Sul', -29.7220000, -52.4343000), +(4316907, 43, 'Santa Maria', -29.6868000, -53.8149000), +(4316956, 43, 'Santa Maria do Herval', -29.4902000, -50.9919000), +(4316972, 43, 'Santa Margarida do Sul', -30.3393000, -54.0817000), +(4317004, 43, 'Santana da Boa Vista', -30.8697000, -53.1100000), +(4317103, 43, "Sant'Ana do Livramento", -30.8773000, -55.5392000), +(4317202, 43, 'Santa Rosa', -27.8702000, -54.4796000), +(4317251, 43, 'Santa Tereza', -29.1655000, -51.7351000), +(4317301, 43, 'Santa Vitória do Palmar', -33.5250000, -53.3717000), +(4317400, 43, 'Santiago', -29.1897000, -54.8666000), +(4317509, 43, 'Santo Ângelo', -28.3001000, -54.2668000), +(4317558, 43, 'Santo Antônio do Palma', -28.4956000, -52.0267000), +(4317608, 43, 'Santo Antônio da Patrulha', -29.8268000, -50.5175000), +(4317707, 43, 'Santo Antônio das Missões', -28.5140000, -55.2251000), +(4317756, 43, 'Santo Antônio do Planalto', -28.4030000, -52.6992000), +(4317806, 43, 'Santo Augusto', -27.8526000, -53.7776000), +(4317905, 43, 'Santo Cristo', -27.8263000, -54.6620000), +(4317954, 43, 'Santo Expedito do Sul', -27.9074000, -51.6434000), +(4318002, 43, 'São Borja', -28.6578000, -56.0036000), +(4318051, 43, 'São Domingos do Sul', -28.5312000, -51.8860000), +(4318101, 43, 'São Francisco de Assis', -29.5547000, -55.1253000), +(4318200, 43, 'São Francisco de Paula', -29.4404000, -50.5828000), +(4318309, 43, 'São Gabriel', -30.3337000, -54.3217000), +(4318408, 43, 'São Jerônimo', -29.9716000, -51.7251000), +(4318424, 43, 'São João da Urtiga', -27.8195000, -51.8257000), +(4318432, 43, 'São João do Polêsine', -29.6194000, -53.4439000), +(4318440, 43, 'São Jorge', -28.4984000, -51.7064000), +(4318457, 43, 'São José das Missões', -27.7789000, -53.1226000), +(4318465, 43, 'São José do Herval', -29.0520000, -52.2950000), +(4318481, 43, 'São José do Hortêncio', -29.5280000, -51.2450000), +(4318499, 43, 'São José do Inhacorá', -27.7251000, -54.1275000), +(4318507, 43, 'São José do Norte', -32.0151000, -52.0331000), +(4318606, 43, 'São José do Ouro', -27.7707000, -51.5966000), +(4318614, 43, 'São José do Sul', -29.5448000, -51.4821000), +(4318622, 43, 'São José dos Ausentes', -28.7476000, -50.0677000), +(4318705, 43, 'São Leopoldo', -29.7545000, -51.1498000), +(4318804, 43, 'São Lourenço do Sul', -31.3564000, -51.9715000), +(4318903, 43, 'São Luiz Gonzaga', -28.4120000, -54.9559000), +(4319000, 43, 'São Marcos', -28.9677000, -51.0696000), +(4319109, 43, 'São Martinho', -27.7112000, -53.9699000), +(4319125, 43, 'São Martinho da Serra', -29.5397000, -53.8590000), +(4319158, 43, 'São Miguel das Missões', -28.5560000, -54.5559000), +(4319208, 43, 'São Nicolau', -28.1834000, -55.2654000), +(4319307, 43, 'São Paulo das Missões', -28.0195000, -54.9404000), +(4319356, 43, 'São Pedro da Serra', -29.4193000, -51.5134000), +(4319364, 43, 'São Pedro das Missões', -27.7706000, -53.2513000), +(4319372, 43, 'São Pedro do Butiá', -28.1243000, -54.8926000), +(4319406, 43, 'São Pedro do Sul', -29.6202000, -54.1855000), +(4319505, 43, 'São Sebastião do Caí', -29.5885000, -51.3749000), +(4319604, 43, 'São Sepé', -30.1643000, -53.5603000), +(4319703, 43, 'São Valentim', -27.5583000, -52.5237000), +(4319711, 43, 'São Valentim do Sul', -29.0451000, -51.7684000), +(4319737, 43, 'São Valério do Sul', -27.7906000, -53.9368000), +(4319752, 43, 'São Vendelino', -29.3729000, -51.3675000), +(4319802, 43, 'São Vicente do Sul', -29.6882000, -54.6826000), +(4319901, 43, 'Sapiranga', -29.6349000, -51.0064000), +(4320008, 43, 'Sapucaia do Sul', -29.8276000, -51.1450000), +(4320107, 43, 'Sarandi', -27.9420000, -52.9231000), +(4320206, 43, 'Seberi', -27.4829000, -53.4026000), +(4320230, 43, 'Sede Nova', -27.6367000, -53.9493000), +(4320263, 43, 'Segredo', -29.3523000, -52.9767000), +(4320305, 43, 'Selbach', -28.6294000, -52.9498000), +(4320321, 43, 'Senador Salgado Filho', -28.0250000, -54.5507000), +(4320354, 43, 'Sentinela do Sul', -30.6107000, -51.5862000), +(4320404, 43, 'Serafina Corrêa', -28.7126000, -51.9352000), +(4320453, 43, 'Sério', -29.3904000, -52.2685000), +(4320503, 43, 'Sertão', -27.9798000, -52.2588000), +(4320552, 43, 'Sertão Santana', -30.4562000, -51.6017000), +(4320578, 43, 'Sete de Setembro', -28.1362000, -54.4637000), +(4320602, 43, 'Severiano de Almeida', -27.4362000, -52.1217000), +(4320651, 43, 'Silveira Martins', -29.6467000, -53.5910000), +(4320677, 43, 'Sinimbu', -29.5357000, -52.5304000), +(4320701, 43, 'Sobradinho', -29.4194000, -53.0326000), +(4320800, 43, 'Soledade', -28.8306000, -52.5131000), +(4320859, 43, 'Tabaí', -29.6430000, -51.6823000), +(4320909, 43, 'Tapejara', -28.0652000, -52.0097000), +(4321006, 43, 'Tapera', -28.6277000, -52.8613000), +(4321105, 43, 'Tapes', -30.6683000, -51.3991000), +(4321204, 43, 'Taquara', -29.6505000, -50.7753000), +(4321303, 43, 'Taquari', -29.7943000, -51.8653000), +(4321329, 43, 'Taquaruçu do Sul', -27.4005000, -53.4702000), +(4321352, 43, 'Tavares', -31.2843000, -51.0880000), +(4321402, 43, 'Tenente Portela', -27.3711000, -53.7585000), +(4321436, 43, 'Terra de Areia', -29.5782000, -50.0644000), +(4321451, 43, 'Teutônia', -29.4482000, -51.8044000), +(4321469, 43, 'Tio Hugo', -28.5712000, -52.5955000), +(4321477, 43, 'Tiradentes do Sul', -27.4022000, -54.0814000), +(4321493, 43, 'Toropi', -29.4782000, -54.2244000), +(4321501, 43, 'Torres', -29.3334000, -49.7333000), +(4321600, 43, 'Tramandaí', -29.9841000, -50.1322000), +(4321626, 43, 'Travesseiro', -29.2977000, -52.0532000), +(4321634, 43, 'Três Arroios', -27.5003000, -52.1448000), +(4321667, 43, 'Três Cachoeiras', -29.4487000, -49.9275000), +(4321709, 43, 'Três Coroas', -29.5137000, -50.7739000), +(4321808, 43, 'Três de Maio', -27.7800000, -54.2357000), +(4321832, 43, 'Três Forquilhas', -29.5384000, -50.0708000), +(4321857, 43, 'Três Palmeiras', -27.6139000, -52.8437000), +(4321907, 43, 'Três Passos', -27.4555000, -53.9296000), +(4321956, 43, 'Trindade do Sul', -27.5239000, -52.8956000), +(4322004, 43, 'Triunfo', -29.9291000, -51.7075000), +(4322103, 43, 'Tucunduva', -27.6573000, -54.4439000), +(4322152, 43, 'Tunas', -29.1039000, -52.9538000), +(4322186, 43, 'Tupanci do Sul', -27.9241000, -51.5383000), +(4322202, 43, 'Tupanciretã', -29.0858000, -53.8445000), +(4322251, 43, 'Tupandi', -29.4772000, -51.4174000), +(4322301, 43, 'Tuparendi', -27.7598000, -54.4814000), +(4322327, 43, 'Turuçu', -31.4173000, -52.1706000), +(4322343, 43, 'Ubiretama', -28.0404000, -54.6860000), +(4322350, 43, 'União da Serra', -28.7833000, -52.0238000), +(4322376, 43, 'Unistalda', -29.0400000, -55.1517000), +(4322400, 43, 'Uruguaiana', -29.7614000, -57.0853000), +(4322509, 43, 'Vacaria', -28.5079000, -50.9418000), +(4322525, 43, 'Vale Verde', -29.7864000, -52.1857000), +(4322533, 43, 'Vale do Sol', -29.5967000, -52.6839000), +(4322541, 43, 'Vale Real', -29.3919000, -51.2559000), +(4322558, 43, 'Vanini', -28.4758000, -51.8447000), +(4322608, 43, 'Venâncio Aires', -29.6143000, -52.1932000), +(4322707, 43, 'Vera Cruz', -29.7184000, -52.5152000), +(4322806, 43, 'Veranópolis', -28.9312000, -51.5516000), +(4322855, 43, 'Vespasiano Corrêa', -29.0655000, -51.8625000), +(4322905, 43, 'Viadutos', -27.5716000, -52.0211000), +(4323002, 43, 'Viamão', -30.0819000, -51.0194000), +(4323101, 43, 'Vicente Dutra', -27.1607000, -53.4022000), +(4323200, 43, 'Victor Graeff', -28.5632000, -52.7495000), +(4323309, 43, 'Vila Flores', -28.8598000, -51.5504000), +(4323358, 43, 'Vila Lângaro', -28.1062000, -52.1438000), +(4323408, 43, 'Vila Maria', -28.5359000, -52.1486000), +(4323457, 43, 'Vila Nova do Sul', -30.3461000, -53.8760000), +(4323507, 43, 'Vista Alegre', -27.3686000, -53.4919000), +(4323606, 43, 'Vista Alegre do Prata', -28.8052000, -51.7947000), +(4323705, 43, 'Vista Gaúcha', -27.2902000, -53.6974000), +(4323754, 43, 'Vitória das Missões', -28.3516000, -54.5040000), +(4323770, 43, 'Westfália', -29.4263000, -51.7645000), +(4323804, 43, 'Xangri-lá', -29.8065000, -50.0519000), +(5000203, 50, 'Água Clara', -20.4452000, -52.8790000), +(5000252, 50, 'Alcinópolis', -18.3255000, -53.7042000), +(5000609, 50, 'Amambai', -23.1058000, -55.2253000), +(5000708, 50, 'Anastácio', -20.4823000, -55.8104000), +(5000807, 50, 'Anaurilândia', -22.1852000, -52.7191000), +(5000856, 50, 'Angélica', -22.1527000, -53.7708000), +(5000906, 50, 'Antônio João', -22.1927000, -55.9517000), +(5001003, 50, 'Aparecida do Taboado', -20.0873000, -51.0961000), +(5001102, 50, 'Aquidauana', -20.4666000, -55.7868000), +(5001243, 50, 'Aral Moreira', -22.9385000, -55.6334000), +(5001508, 50, 'Bandeirantes', -19.9275000, -54.3585000), +(5001904, 50, 'Bataguassu', -21.7159000, -52.4221000), +(5002001, 50, 'Batayporã', -22.2944000, -53.2705000), +(5002100, 50, 'Bela Vista', -22.1073000, -56.5263000), +(5002159, 50, 'Bodoquena', -20.5370000, -56.7127000), +(5002209, 50, 'Bonito', -21.1261000, -56.4836000), +(5002308, 50, 'Brasilândia', -21.2544000, -52.0365000), +(5002407, 50, 'Caarapó', -22.6368000, -54.8209000), +(5002605, 50, 'Camapuã', -19.5347000, -54.0431000), +(5002704, 50, 'Campo Grande', -20.4486000, -54.6295000), +(5002803, 50, 'Caracol', -22.0110000, -57.0277000), +(5002902, 50, 'Cassilândia', -19.1179000, -51.7313000), +(5002951, 50, 'Chapadão do Sul', -18.7880000, -52.6263000), +(5003108, 50, 'Corguinho', -19.8243000, -54.8281000), +(5003157, 50, 'Coronel Sapucaia', -23.2724000, -55.5278000), +(5003207, 50, 'Corumbá', -19.0077000, -57.6510000), +(5003256, 50, 'Costa Rica', -18.5432000, -53.1287000), +(5003306, 50, 'Coxim', -18.5013000, -54.7510000), +(5003454, 50, 'Deodápolis', -22.2763000, -54.1682000), +(5003488, 50, 'Dois Irmãos do Buriti', -20.6848000, -55.2915000), +(5003504, 50, 'Douradina', -22.0405000, -54.6158000), +(5003702, 50, 'Dourados', -22.2231000, -54.8120000), +(5003751, 50, 'Eldorado', -23.7868000, -54.2838000), +(5003801, 50, 'Fátima do Sul', -22.3789000, -54.5131000), +(5003900, 50, 'Figueirão', -18.6782000, -53.6380000), +(5004007, 50, 'Glória de Dourados', -22.4136000, -54.2335000), +(5004106, 50, 'Guia Lopes da Laguna', -21.4583000, -56.1117000), +(5004304, 50, 'Iguatemi', -23.6736000, -54.5637000), +(5004403, 50, 'Inocência', -19.7277000, -51.9281000), +(5004502, 50, 'Itaporã', -22.0800000, -54.7934000), +(5004601, 50, 'Itaquiraí', -23.4779000, -54.1870000), +(5004700, 50, 'Ivinhema', -22.3046000, -53.8184000), +(5004809, 50, 'Japorã', -23.8903000, -54.4059000), +(5004908, 50, 'Jaraguari', -20.1386000, -54.3996000), +(5005004, 50, 'Jardim', -21.4799000, -56.1489000), +(5005103, 50, 'Jateí', -22.4806000, -54.3079000), +(5005152, 50, 'Juti', -22.8596000, -54.6061000), +(5005202, 50, 'Ladário', -19.0089000, -57.5973000), +(5005251, 50, 'Laguna Carapã', -22.5448000, -55.1502000), +(5005400, 50, 'Maracaju', -21.6105000, -55.1678000), +(5005608, 50, 'Miranda', -20.2355000, -56.3746000), +(5005681, 50, 'Mundo Novo', -23.9355000, -54.2810000), +(5005707, 50, 'Naviraí', -23.0618000, -54.1995000), +(5005806, 50, 'Nioaque', -21.1419000, -55.8296000), +(5006002, 50, 'Nova Alvorada do Sul', -21.4657000, -54.3825000), +(5006200, 50, 'Nova Andradina', -22.2380000, -53.3437000), +(5006259, 50, 'Novo Horizonte do Sul', -22.6693000, -53.8601000), +(5006275, 50, 'Paraíso das Águas', -19.0216000, -53.0116000), +(5006309, 50, 'Paranaíba', -19.6746000, -51.1909000), +(5006358, 50, 'Paranhos', -23.8911000, -55.4290000), +(5006408, 50, 'Pedro Gomes', -18.0996000, -54.5507000), +(5006606, 50, 'Ponta Porã', -22.5296000, -55.7203000), +(5006903, 50, 'Porto Murtinho', -21.6981000, -57.8836000), +(5007109, 50, 'Ribas do Rio Pardo', -20.4445000, -53.7588000), +(5007208, 50, 'Rio Brilhante', -21.8033000, -54.5427000), +(5007307, 50, 'Rio Negro', -19.4470000, -54.9859000), +(5007406, 50, 'Rio Verde de Mato Grosso', -18.9249000, -54.8434000), +(5007505, 50, 'Rochedo', -19.9565000, -54.8848000), +(5007554, 50, 'Santa Rita do Pardo', -21.3016000, -52.8333000), +(5007695, 50, 'São Gabriel do Oeste', -19.3889000, -54.5507000), +(5007703, 50, 'Sete Quedas', -23.9705000, -55.0398000), +(5007802, 50, 'Selvíria', -20.3637000, -51.4192000), +(5007901, 50, 'Sidrolândia', -20.9302000, -54.9692000), +(5007935, 50, 'Sonora', -17.5698000, -54.7551000), +(5007950, 50, 'Tacuru', -23.6360000, -55.0141000), +(5007976, 50, 'Taquarussu', -22.4898000, -53.3519000), +(5008008, 50, 'Terenos', -20.4378000, -54.8647000), +(5008305, 50, 'Três Lagoas', -20.7849000, -51.7007000), +(5008404, 50, 'Vicentina', -22.4098000, -54.4415000), +(5100102, 51, 'Acorizal', -15.1940000, -56.3632000), +(5100201, 51, 'Água Boa', -14.0510000, -52.1601000), +(5100250, 51, 'Alta Floresta', -9.8671500, -56.0871900), +(5100300, 51, 'Alto Araguaia', -17.3153000, -53.2181000), +(5100359, 51, 'Alto Boa Vista', -11.6732000, -51.3883000), +(5100409, 51, 'Alto Garças', -16.9462000, -53.5272000), +(5100508, 51, 'Alto Paraguai', -14.5137000, -56.4776000), +(5100607, 51, 'Alto Taquari', -17.8241000, -53.2792000), +(5100805, 51, 'Apiacás', -95.3981000, -57.4587000), +(5101001, 51, 'Araguaiana', -15.7291000, -51.8341000), +(5101209, 51, 'Araguainha', -16.8570000, -53.0318000), +(5101258, 51, 'Araputanga', -15.4641000, -58.3425000), +(5101308, 51, 'Arenápolis', -14.4472000, -56.8437000), +(5101407, 51, 'Aripuanã', -10.1723000, -59.4568000), +(5101605, 51, 'Barão de Melgaço', -16.2067000, -55.9623000), +(5101704, 51, 'Barra do Bugres', -15.0702000, -57.1878000), +(5101803, 51, 'Barra do Garças', -15.8804000, -52.2640000), +(5101852, 51, 'Bom Jesus do Araguaia', -12.1706000, -51.5032000), +(5101902, 51, 'Brasnorte', -12.1474000, -57.9833000), +(5102504, 51, 'Cáceres', -16.0764000, -57.6818000), +(5102603, 51, 'Campinápolis', -14.5162000, -52.8930000), +(5102637, 51, 'Campo Novo do Parecis', -13.6587000, -57.8907000), +(5102678, 51, 'Campo Verde', -15.5450000, -55.1626000), +(5102686, 51, 'Campos de Júlio', -13.7242000, -59.2858000), +(5102694, 51, 'Canabrava do Norte', -11.0556000, -51.8209000), +(5102702, 51, 'Canarana', -13.5515000, -52.2705000), +(5102793, 51, 'Carlinda', -99.4912000, -55.8417000), +(5102850, 51, 'Castanheira', -11.1251000, -58.6081000), +(5103007, 51, 'Chapada dos Guimarães', -15.4643000, -55.7499000), +(5103056, 51, 'Cláudia', -11.5075000, -54.8835000), +(5103106, 51, 'Cocalinho', -14.3903000, -51.0001000), +(5103205, 51, 'Colíder', -10.8135000, -55.4610000), +(5103254, 51, 'Colniza', -94.6121000, -59.2252000), +(5103304, 51, 'Comodoro', -13.6614000, -59.7848000), +(5103353, 51, 'Confresa', -10.6437000, -51.5699000), +(5103361, 51, "Conquista D'Oeste", -14.5381000, -59.5444000), +(5103379, 51, 'Cotriguaçu', -9.8565600, -58.4192000), +(5103403, 51, 'Cuiabá', -15.6010000, -56.0974000), +(5103437, 51, 'Curvelândia', -15.6084000, -57.9133000), +(5103452, 51, 'Denise', -14.7324000, -57.0583000), +(5103502, 51, 'Diamantino', -14.4037000, -56.4366000), +(5103601, 51, 'Dom Aquino', -15.8099000, -54.9223000), +(5103700, 51, 'Feliz Natal', -12.3850000, -54.9227000), +(5103809, 51, "Figueirópolis D'Oeste", -15.4439000, -58.7391000), +(5103858, 51, 'Gaúcha do Norte', -13.2443000, -53.0809000), +(5103908, 51, 'General Carneiro', -15.7094000, -52.7574000), +(5103957, 51, "Glória D'Oeste", -15.7680000, -58.3108000), +(5104104, 51, 'Guarantã do Norte', -99.6218000, -54.9121000), +(5104203, 51, 'Guiratinga', -16.3460000, -53.7575000), +(5104500, 51, 'Indiavaí', -15.4921000, -58.5802000), +(5104526, 51, 'Ipiranga do Norte', -12.2408000, -56.1531000), +(5104542, 51, 'Itanhangá', -12.2259000, -56.6463000), +(5104559, 51, 'Itaúba', -11.0614000, -55.2766000), +(5104609, 51, 'Itiquira', -17.2147000, -54.1422000), +(5104807, 51, 'Jaciara', -15.9548000, -54.9733000), +(5104906, 51, 'Jangada', -15.2350000, -56.4917000), +(5105002, 51, 'Jauru', -15.3342000, -58.8723000), +(5105101, 51, 'Juara', -11.2639000, -57.5244000), +(5105150, 51, 'Juína', -11.3728000, -58.7483000), +(5105176, 51, 'Juruena', -10.3178000, -58.3592000), +(5105200, 51, 'Juscimeira', -16.0633000, -54.8859000), +(5105234, 51, "Lambari D'Oeste", -15.3188000, -58.0046000), +(5105259, 51, 'Lucas do Rio Verde', -13.0588000, -55.9042000), +(5105309, 51, 'Luciara', -11.2219000, -50.6676000), +(5105507, 51, 'Vila Bela da Santíssima Trindade', -15.0068000, -59.9504000), +(5105580, 51, 'Marcelândia', -11.0463000, -54.4377000), +(5105606, 51, 'Matupá', -10.1821000, -54.9467000), +(5105622, 51, "Mirassol d'Oeste", -15.6759000, -58.0951000), +(5105903, 51, 'Nobres', -14.7192000, -56.3284000), +(5106000, 51, 'Nortelândia', -14.4540000, -56.7945000), +(5106109, 51, 'Nossa Senhora do Livramento', -15.7720000, -56.3432000), +(5106158, 51, 'Nova Bandeirantes', -9.8497700, -57.8139000), +(5106174, 51, 'Nova Nazaré', -13.9486000, -51.8002000), +(5106182, 51, 'Nova Lacerda', -14.4727000, -59.6001000), +(5106190, 51, 'Nova Santa Helena', -10.8651000, -55.1872000), +(5106208, 51, 'Nova Brasilândia', -14.9612000, -54.9685000), +(5106216, 51, 'Nova Canaã do Norte', -10.5580000, -55.9530000), +(5106224, 51, 'Nova Mutum', -13.8374000, -56.0743000), +(5106232, 51, 'Nova Olímpia', -14.7889000, -57.2886000), +(5106240, 51, 'Nova Ubiratã', -12.9834000, -55.2556000), +(5106257, 51, 'Nova Xavantina', -14.6771000, -52.3502000), +(5106265, 51, 'Novo Mundo', -99.5616000, -55.2029000), +(5106273, 51, 'Novo Horizonte do Norte', -11.4089000, -57.3488000), +(5106281, 51, 'Novo São Joaquim', -14.9054000, -53.0194000), +(5106299, 51, 'Paranaíta', -9.6650000, -56.4769000), +(5106307, 51, 'Paranatinga', -14.4265000, -54.0524000), +(5106315, 51, 'Novo Santo Antônio', -12.2875000, -50.9686000), +(5106372, 51, 'Pedra Preta', -16.6245000, -54.4722000), +(5106422, 51, 'Peixoto de Azevedo', -10.2262000, -54.9794000), +(5106455, 51, 'Planalto da Serra', -14.6518000, -54.7819000), +(5106505, 51, 'Poconé', -16.2660000, -56.6261000), +(5106653, 51, 'Pontal do Araguaia', -15.9274000, -52.3273000), +(5106703, 51, 'Ponte Branca', -16.7584000, -52.8369000), +(5106752, 51, 'Pontes e Lacerda', -15.2219000, -59.3435000), +(5106778, 51, 'Porto Alegre do Norte', -10.8761000, -51.6357000), +(5106802, 51, 'Porto dos Gaúchos', -11.5330000, -57.4132000), +(5106828, 51, 'Porto Esperidião', -15.8570000, -58.4619000), +(5106851, 51, 'Porto Estrela', -15.3235000, -57.2204000), +(5107008, 51, 'Poxoréu', -15.8299000, -54.4208000), +(5107040, 51, 'Primavera do Leste', -15.5440000, -54.2811000), +(5107065, 51, 'Querência', -12.6093000, -52.1821000), +(5107107, 51, 'São José dos Quatro Marcos', -15.6276000, -58.1772000), +(5107156, 51, 'Reserva do Cabaçal', -15.0743000, -58.4585000), +(5107180, 51, 'Ribeirão Cascalheira', -12.9367000, -51.8244000), +(5107198, 51, 'Ribeirãozinho', -16.4856000, -52.6924000), +(5107206, 51, 'Rio Branco', -15.2483000, -58.1259000), +(5107248, 51, 'Santa Carmem', -11.9125000, -55.2263000), +(5107263, 51, 'Santo Afonso', -14.4945000, -57.0091000), +(5107297, 51, 'São José do Povo', -16.4549000, -54.2487000), +(5107305, 51, 'São José do Rio Claro', -13.4398000, -56.7218000), +(5107354, 51, 'São José do Xingu', -10.7982000, -52.7486000), +(5107404, 51, 'São Pedro da Cipa', -16.0109000, -54.9176000), +(5107578, 51, 'Rondolândia', -10.8376000, -61.4697000), +(5107602, 51, 'Rondonópolis', -16.4673000, -54.6372000), +(5107701, 51, 'Rosário Oeste', -14.8259000, -56.4236000), +(5107743, 51, 'Santa Cruz do Xingu', -10.1532000, -52.3953000), +(5107750, 51, 'Salto do Céu', -15.1303000, -58.1317000), +(5107768, 51, 'Santa Rita do Trivelato', -13.8146000, -55.2706000), +(5107776, 51, 'Santa Terezinha', -10.4704000, -50.5140000), +(5107792, 51, 'Santo Antônio do Leste', -14.8050000, -53.6075000), +(5107800, 51, 'Santo Antônio do Leverger', -15.8632000, -56.0788000), +(5107859, 51, 'São Félix do Araguaia', -11.6150000, -50.6706000), +(5107875, 51, 'Sapezal', -12.9892000, -58.7645000), +(5107883, 51, 'Serra Nova Dourada', -12.0896000, -51.4025000), +(5107909, 51, 'Sinop', -11.8604000, -55.5091000), +(5107925, 51, 'Sorriso', -12.5425000, -55.7211000), +(5107941, 51, 'Tabaporã', -11.3007000, -56.8312000), +(5107958, 51, 'Tangará da Serra', -14.6229000, -57.4933000), +(5108006, 51, 'Tapurah', -12.6950000, -56.5178000), +(5108055, 51, 'Terra Nova do Norte', -10.5170000, -55.2310000), +(5108105, 51, 'Tesouro', -16.0809000, -53.5590000), +(5108204, 51, 'Torixoréu', -16.2006000, -52.5571000), +(5108303, 51, 'União do Sul', -11.5308000, -54.3616000), +(5108352, 51, 'Vale de São Domingos', -15.2860000, -59.0683000), +(5108402, 51, 'Várzea Grande', -15.6458000, -56.1322000), +(5108501, 51, 'Vera', -12.3017000, -55.3045000), +(5108600, 51, 'Vila Rica', -10.0137000, -51.1186000), +(5108808, 51, 'Nova Guarita', -10.3120000, -55.4061000), +(5108857, 51, 'Nova Marilândia', -14.3568000, -56.9696000), +(5108907, 51, 'Nova Maringá', -13.0136000, -57.0908000), +(5108956, 51, 'Nova Monte Verde', -99.9998000, -57.5261000), +(5200050, 52, 'Abadia de Goiás', -16.7573000, -49.4412000), +(5200100, 52, 'Abadiânia', -16.1970000, -48.7057000), +(5200134, 52, 'Acreúna', -17.3960000, -50.3749000), +(5200159, 52, 'Adelândia', -16.4127000, -50.1657000), +(5200175, 52, 'Água Fria de Goiás', -14.9778000, -47.7823000), +(5200209, 52, 'Água Limpa', -18.0771000, -48.7603000), +(5200258, 52, 'Águas Lindas de Goiás', -15.7617000, -48.2816000), +(5200308, 52, 'Alexânia', -16.0834000, -48.5076000), +(5200506, 52, 'Aloândia', -17.7292000, -49.4769000), +(5200555, 52, 'Alto Horizonte', -14.1978000, -49.3378000), +(5200605, 52, 'Alto Paraíso de Goiás', -14.1305000, -47.5100000), +(5200803, 52, 'Alvorada do Norte', -14.4797000, -46.4910000), +(5200829, 52, 'Amaralina', -13.9236000, -49.2962000), +(5200852, 52, 'Americano do Brasil', -16.2514000, -49.9831000), +(5200902, 52, 'Amorinópolis', -16.6151000, -51.0919000), +(5201108, 52, 'Anápolis', -16.3281000, -48.9530000), +(5201207, 52, 'Anhanguera', -18.3339000, -48.2204000), +(5201306, 52, 'Anicuns', -16.4642000, -49.9617000), +(5201405, 52, 'Aparecida de Goiânia', -16.8198000, -49.2469000), +(5201454, 52, 'Aparecida do Rio Doce', -18.2941000, -51.1516000), +(5201504, 52, 'Aporé', -18.9607000, -51.9232000), +(5201603, 52, 'Araçu', -16.3563000, -49.6804000), +(5201702, 52, 'Aragarças', -15.8955000, -52.2372000), +(5201801, 52, 'Aragoiânia', -16.9087000, -49.4476000), +(5202155, 52, 'Araguapaz', -15.0909000, -50.6315000), +(5202353, 52, 'Arenópolis', -16.3837000, -51.5563000), +(5202502, 52, 'Aruanã', -14.9166000, -51.0750000), +(5202601, 52, 'Aurilândia', -16.6773000, -50.4641000), +(5202809, 52, 'Avelinópolis', -16.4672000, -49.7579000), +(5203104, 52, 'Baliza', -16.1966000, -52.5393000), +(5203203, 52, 'Barro Alto', -14.9658000, -48.9086000), +(5203302, 52, 'Bela Vista de Goiás', -16.9693000, -48.9513000), +(5203401, 52, 'Bom Jardim de Goiás', -16.2063000, -52.1728000), +(5203500, 52, 'Bom Jesus de Goiás', -18.2173000, -49.7400000), +(5203559, 52, 'Bonfinópolis', -16.6173000, -48.9616000), +(5203575, 52, 'Bonópolis', -13.6329000, -49.8106000), +(5203609, 52, 'Brazabrantes', -16.4281000, -49.3863000), +(5203807, 52, 'Britânia', -15.2428000, -51.1602000), +(5203906, 52, 'Buriti Alegre', -18.1378000, -49.0404000), +(5203939, 52, 'Buriti de Goiás', -16.1792000, -50.4302000), +(5203962, 52, 'Buritinópolis', -14.4772000, -46.4076000), +(5204003, 52, 'Cabeceiras', -15.7995000, -46.9265000), +(5204102, 52, 'Cachoeira Alta', -18.7618000, -50.9432000), +(5204201, 52, 'Cachoeira de Goiás', -16.6635000, -50.6460000), +(5204250, 52, 'Cachoeira Dourada', -18.4859000, -49.4766000), +(5204300, 52, 'Caçu', -18.5594000, -51.1328000), +(5204409, 52, 'Caiapônia', -16.9539000, -51.8091000), +(5204508, 52, 'Caldas Novas', -17.7441000, -48.6246000), +(5204557, 52, 'Caldazinha', -16.7117000, -49.0013000), +(5204607, 52, 'Campestre de Goiás', -16.7624000, -49.6950000), +(5204656, 52, 'Campinaçu', -13.7870000, -48.5704000), +(5204706, 52, 'Campinorte', -14.3137000, -49.1511000), +(5204805, 52, 'Campo Alegre de Goiás', -17.6363000, -47.7768000), +(5204854, 52, 'Campo Limpo de Goiás', -16.2971000, -49.0895000), +(5204904, 52, 'Campos Belos', -13.0350000, -46.7681000), +(5204953, 52, 'Campos Verdes', -14.2442000, -49.6528000), +(5205000, 52, 'Carmo do Rio Verde', -15.3549000, -49.7080000), +(5205059, 52, 'Castelândia', -18.0921000, -50.2030000), +(5205109, 52, 'Catalão', -18.1656000, -47.9440000), +(5205208, 52, 'Caturaí', -16.4447000, -49.4936000), +(5205307, 52, 'Cavalcante', -13.7976000, -47.4566000), +(5205406, 52, 'Ceres', -15.3061000, -49.6000000), +(5205455, 52, 'Cezarina', -16.9718000, -49.7758000), +(5205471, 52, 'Chapadão do Céu', -18.4073000, -52.5490000), +(5205497, 52, 'Cidade Ocidental', -16.0765000, -47.9252000), +(5205513, 52, 'Cocalzinho de Goiás', -15.7914000, -48.7747000), +(5205521, 52, 'Colinas do Sul', -14.1528000, -48.0760000), +(5205703, 52, 'Córrego do Ouro', -16.2918000, -50.5503000), +(5205802, 52, 'Corumbá de Goiás', -15.9245000, -48.8117000), +(5205901, 52, 'Corumbaíba', -18.1415000, -48.5626000), +(5206206, 52, 'Cristalina', -16.7676000, -47.6131000), +(5206305, 52, 'Cristianópolis', -17.1987000, -48.7034000), +(5206404, 52, 'Crixás', -14.5412000, -49.9740000), +(5206503, 52, 'Cromínia', -17.2883000, -49.3798000), +(5206602, 52, 'Cumari', -18.2644000, -48.1511000), +(5206701, 52, 'Damianópolis', -14.5604000, -46.1780000), +(5206800, 52, 'Damolândia', -16.2544000, -49.3631000), +(5206909, 52, 'Davinópolis', -18.1501000, -47.5568000), +(5207105, 52, 'Diorama', -16.2329000, -51.2543000), +(5207253, 52, 'Doverlândia', -16.7188000, -52.3189000), +(5207352, 52, 'Edealina', -17.4239000, -49.6644000), +(5207402, 52, 'Edéia', -17.3406000, -49.9295000), +(5207501, 52, 'Estrela do Norte', -13.8665000, -49.0716000), +(5207535, 52, 'Faina', -15.4473000, -50.3622000), +(5207600, 52, 'Fazenda Nova', -16.1834000, -50.7781000), +(5207808, 52, 'Firminópolis', -16.5778000, -50.3040000), +(5207907, 52, 'Flores de Goiás', -14.4451000, -47.0417000), +(5208004, 52, 'Formosa', -15.5400000, -47.3370000), +(5208103, 52, 'Formoso', -13.6499000, -48.8775000), +(5208152, 52, 'Gameleira de Goiás', -16.4854000, -48.6454000), +(5208301, 52, 'Divinópolis de Goiás', -13.2853000, -46.3999000), +(5208400, 52, 'Goianápolis', -16.5098000, -49.0234000), +(5208509, 52, 'Goiandira', -18.1352000, -48.0875000), +(5208608, 52, 'Goianésia', -15.3118000, -49.1162000), +(5208707, 52, 'Goiânia', -16.6864000, -49.2643000), +(5208806, 52, 'Goianira', -16.4947000, -49.4270000), +(5208905, 52, 'Goiás', -15.9333000, -50.1400000), +(5209101, 52, 'Goiatuba', -18.0105000, -49.3658000), +(5209150, 52, 'Gouvelândia', -18.6238000, -50.0805000), +(5209200, 52, 'Guapó', -16.8297000, -49.5345000), +(5209291, 52, 'Guaraíta', -15.6121000, -50.0265000), +(5209408, 52, 'Guarani de Goiás', -13.9421000, -46.4868000), +(5209457, 52, 'Guarinos', -14.7292000, -49.7006000), +(5209606, 52, 'Heitoraí', -15.7190000, -49.8268000), +(5209705, 52, 'Hidrolândia', -16.9626000, -49.2265000), +(5209804, 52, 'Hidrolina', -14.7261000, -49.4634000), +(5209903, 52, 'Iaciara', -14.1011000, -46.6335000), +(5209937, 52, 'Inaciolândia', -18.4869000, -49.9888000), +(5209952, 52, 'Indiara', -17.1387000, -49.9862000), +(5210000, 52, 'Inhumas', -16.3611000, -49.5001000), +(5210109, 52, 'Ipameri', -17.7215000, -48.1581000), +(5210158, 52, 'Ipiranga de Goiás', -15.1689000, -49.6695000), +(5210208, 52, 'Iporá', -16.4398000, -51.1180000), +(5210307, 52, 'Israelândia', -16.3144000, -50.9087000), +(5210406, 52, 'Itaberaí', -16.0206000, -49.8060000), +(5210562, 52, 'Itaguari', -15.9180000, -49.6071000), +(5210604, 52, 'Itaguaru', -15.7565000, -49.6354000), +(5210802, 52, 'Itajá', -19.0673000, -51.5495000), +(5210901, 52, 'Itapaci', -14.9522000, -49.5511000), +(5211008, 52, 'Itapirapuã', -15.8205000, -50.6094000), +(5211206, 52, 'Itapuranga', -15.5606000, -49.9490000), +(5211305, 52, 'Itarumã', -18.7646000, -51.3485000), +(5211404, 52, 'Itauçu', -16.2029000, -49.6109000), +(5211503, 52, 'Itumbiara', -18.4093000, -49.2158000), +(5211602, 52, 'Ivolândia', -16.5995000, -50.7921000), +(5211701, 52, 'Jandaia', -17.0481000, -50.1453000), +(5211800, 52, 'Jaraguá', -15.7529000, -49.3344000), +(5211909, 52, 'Jataí', -17.8784000, -51.7204000), +(5212006, 52, 'Jaupaci', -16.1773000, -50.9508000), +(5212055, 52, 'Jesúpolis', -15.9484000, -49.3739000), +(5212105, 52, 'Joviânia', -17.8020000, -49.6197000), +(5212204, 52, 'Jussara', -15.8659000, -50.8668000), +(5212253, 52, 'Lagoa Santa', -19.1832000, -51.3998000), +(5212303, 52, 'Leopoldo de Bulhões', -16.6190000, -48.7428000), +(5212501, 52, 'Luziânia', -16.2530000, -47.9500000), +(5212600, 52, 'Mairipotaba', -17.2975000, -49.4898000), +(5212709, 52, 'Mambaí', -14.4823000, -46.1165000), +(5212808, 52, 'Mara Rosa', -14.0148000, -49.1777000), +(5212907, 52, 'Marzagão', -17.9830000, -48.6415000), +(5212956, 52, 'Matrinchã', -15.4342000, -50.7456000), +(5213004, 52, 'Maurilândia', -17.9719000, -50.3388000), +(5213053, 52, 'Mimoso de Goiás', -15.0515000, -48.1611000), +(5213087, 52, 'Minaçu', -13.5304000, -48.2206000), +(5213103, 52, 'Mineiros', -17.5654000, -52.5537000), +(5213400, 52, 'Moiporá', -16.5434000, -50.7390000), +(5213509, 52, 'Monte Alegre de Goiás', -13.2552000, -46.8928000), +(5213707, 52, 'Montes Claros de Goiás', -16.0059000, -51.3979000), +(5213756, 52, 'Montividiu', -17.4439000, -51.1728000), +(5213772, 52, 'Montividiu do Norte', -13.3485000, -48.6853000), +(5213806, 52, 'Morrinhos', -17.7334000, -49.1059000), +(5213855, 52, 'Morro Agudo de Goiás', -15.3184000, -50.0553000), +(5213905, 52, 'Mossâmedes', -16.1240000, -50.2136000), +(5214002, 52, 'Mozarlândia', -14.7457000, -50.5713000), +(5214051, 52, 'Mundo Novo', -13.7729000, -50.2814000), +(5214101, 52, 'Mutunópolis', -13.7303000, -49.2745000), +(5214408, 52, 'Nazário', -16.5808000, -49.8817000), +(5214507, 52, 'Nerópolis', -16.4047000, -49.2227000), +(5214606, 52, 'Niquelândia', -14.4662000, -48.4599000), +(5214705, 52, 'Nova América', -15.0206000, -49.8953000), +(5214804, 52, 'Nova Aurora', -18.0597000, -48.2552000), +(5214838, 52, 'Nova Crixás', -14.0957000, -50.3300000), +(5214861, 52, 'Nova Glória', -15.1450000, -49.5737000), +(5214879, 52, 'Nova Iguaçu de Goiás', -14.2868000, -49.3872000), +(5214903, 52, 'Nova Roma', -13.7388000, -46.8734000), +(5215009, 52, 'Nova Veneza', -16.3695000, -49.3168000), +(5215207, 52, 'Novo Brasil', -16.0313000, -50.7113000), +(5215231, 52, 'Novo Gama', -16.0592000, -48.0417000), +(5215256, 52, 'Novo Planalto', -13.2424000, -49.5060000), +(5215306, 52, 'Orizona', -17.0334000, -48.2964000), +(5215405, 52, 'Ouro Verde de Goiás', -16.2181000, -49.1942000), +(5215504, 52, 'Ouvidor', -18.2277000, -47.8355000), +(5215603, 52, 'Padre Bernardo', -15.1605000, -48.2833000), +(5215652, 52, 'Palestina de Goiás', -16.7392000, -51.5309000), +(5215702, 52, 'Palmeiras de Goiás', -16.8044000, -49.9240000), +(5215801, 52, 'Palmelo', -17.3258000, -48.4260000), +(5215900, 52, 'Palminópolis', -16.7924000, -50.1652000), +(5216007, 52, 'Panamá', -18.1783000, -49.3550000), +(5216304, 52, 'Paranaiguara', -18.9141000, -50.6539000), +(5216403, 52, 'Paraúna', -16.9463000, -50.4484000), +(5216452, 52, 'Perolândia', -17.5258000, -52.0650000), +(5216809, 52, 'Petrolina de Goiás', -16.0968000, -49.3364000), +(5216908, 52, 'Pilar de Goiás', -14.7608000, -49.5784000), +(5217104, 52, 'Piracanjuba', -17.3020000, -49.0170000), +(5217203, 52, 'Piranhas', -16.4258000, -51.8235000), +(5217302, 52, 'Pirenópolis', -15.8507000, -48.9584000), +(5217401, 52, 'Pires do Rio', -17.3019000, -48.2768000), +(5217609, 52, 'Planaltina', -15.4520000, -47.6089000), +(5217708, 52, 'Pontalina', -17.5225000, -49.4489000), +(5218003, 52, 'Porangatu', -13.4391000, -49.1503000), +(5218052, 52, 'Porteirão', -17.8143000, -50.1653000), +(5218102, 52, 'Portelândia', -17.3554000, -52.6799000), +(5218300, 52, 'Posse', -14.0859000, -46.3704000), +(5218391, 52, 'Professor Jamil', -17.2497000, -49.2440000), +(5218508, 52, 'Quirinópolis', -18.4472000, -50.4547000), +(5218607, 52, 'Rialma', -15.3145000, -49.5814000), +(5218706, 52, 'Rianápolis', -15.4456000, -49.5114000), +(5218789, 52, 'Rio Quente', -17.7740000, -48.7725000), +(5218805, 52, 'Rio Verde', -17.7923000, -50.9192000), +(5218904, 52, 'Rubiataba', -15.1617000, -49.8048000), +(5219001, 52, 'Sanclerlândia', -16.1970000, -50.3124000), +(5219100, 52, 'Santa Bárbara de Goiás', -16.5714000, -49.6954000), +(5219209, 52, 'Santa Cruz de Goiás', -17.3155000, -48.4809000), +(5219258, 52, 'Santa Fé de Goiás', -15.7664000, -51.1037000), +(5219308, 52, 'Santa Helena de Goiás', -17.8115000, -50.5977000), +(5219357, 52, 'Santa Isabel', -15.2958000, -49.4259000), +(5219407, 52, 'Santa Rita do Araguaia', -17.3269000, -53.2012000), +(5219456, 52, 'Santa Rita do Novo Destino', -15.1351000, -49.1203000), +(5219506, 52, 'Santa Rosa de Goiás', -16.0840000, -49.4953000), +(5219605, 52, 'Santa Tereza de Goiás', -13.7138000, -49.0144000), +(5219704, 52, 'Santa Terezinha de Goiás', -14.4326000, -49.7091000), +(5219712, 52, 'Santo Antônio da Barra', -17.5585000, -50.6345000), +(5219738, 52, 'Santo Antônio de Goiás', -16.4815000, -49.3096000), +(5219753, 52, 'Santo Antônio do Descoberto', -15.9412000, -48.2578000), +(5219803, 52, 'São Domingos', -13.6210000, -46.7415000), +(5219902, 52, 'São Francisco de Goiás', -15.9256000, -49.2605000), +(5220009, 52, "São João d'Aliança", -14.7048000, -47.5228000), +(5220058, 52, 'São João da Paraúna', -16.8126000, -50.4092000), +(5220108, 52, 'São Luís de Montes Belos', -16.5211000, -50.3726000), +(5220157, 52, 'São Luiz do Norte', -14.8608000, -49.3285000), +(5220207, 52, 'São Miguel do Araguaia', -13.2731000, -50.1634000), +(5220264, 52, 'São Miguel do Passa Quatro', -17.0582000, -48.6620000), +(5220280, 52, 'São Patrício', -15.3500000, -49.8180000), +(5220405, 52, 'São Simão', -18.9960000, -50.5470000), +(5220454, 52, 'Senador Canedo', -16.7084000, -49.0914000), +(5220504, 52, 'Serranópolis', -18.3067000, -51.9586000), +(5220603, 52, 'Silvânia', -16.6600000, -48.6083000), +(5220686, 52, 'Simolândia', -14.4644000, -46.4847000), +(5220702, 52, "Sítio d'Abadia", -14.7992000, -46.2506000), +(5221007, 52, 'Taquaral de Goiás', -16.0521000, -49.6039000), +(5221080, 52, 'Teresina de Goiás', -13.7801000, -47.2659000), +(5221197, 52, 'Terezópolis de Goiás', -16.3945000, -49.0797000), +(5221304, 52, 'Três Ranchos', -18.3539000, -47.7760000), +(5221403, 52, 'Trindade', -16.6517000, -49.4927000), +(5221452, 52, 'Trombas', -13.5079000, -48.7417000), +(5221502, 52, 'Turvânia', -16.6125000, -50.1369000), +(5221551, 52, 'Turvelândia', -17.8502000, -50.3024000), +(5221577, 52, 'Uirapuru', -14.2835000, -49.9201000), +(5221601, 52, 'Uruaçu', -14.5238000, -49.1396000), +(5221700, 52, 'Uruana', -15.4993000, -49.6861000), +(5221809, 52, 'Urutaí', -17.4651000, -48.2015000), +(5221858, 52, 'Valparaíso de Goiás', -16.0651000, -47.9757000), +(5221908, 52, 'Varjão', -17.0471000, -49.6312000), +(5222005, 52, 'Vianópolis', -16.7405000, -48.5159000), +(5222054, 52, 'Vicentinópolis', -17.7322000, -49.8047000), +(5222203, 52, 'Vila Boa', -15.0387000, -47.0520000), +(5222302, 52, 'Vila Propício', -15.4542000, -48.8819000), +(5300108, 53, 'Brasília', -15.7795000, -47.9297000), +(5400000, 54, 'Não Informado', NULL, NULL), +(5500000, 55, 'Não Informado', NULL, NULL), +(5600000, 56, 'Não Informado', NULL, NULL), +(5700000, 57, 'Não Informado', NULL, NULL), +(5800000, 58, 'Não Informado', NULL, NULL), +(5900000, 59, 'Não Informado', NULL, NULL), +(6000000, 60, 'Não Informado', NULL, NULL), +(6100000, 61, 'Não Informado', NULL, NULL), +(6200000, 62, 'Não Informado', NULL, NULL), +(6300000, 63, 'Não Informado', NULL, NULL), +(6400000, 64, 'Não Informado', NULL, NULL), +(6500000, 65, 'Não Informado', NULL, NULL), +(6600000, 66, 'Não Informado', NULL, NULL), +(6700000, 67, 'Não Informado', NULL, NULL), +(6800000, 68, 'Não Informado', NULL, NULL), +(6900000, 69, 'Não Informado', NULL, NULL), +(7000000, 70, 'Não Informado', NULL, NULL), +(7100000, 71, 'Não Informado', NULL, NULL), +(7200000, 72, 'Não Informado', NULL, NULL), +(7300000, 73, 'Não Informado', NULL, NULL), +(7400000, 74, 'Não Informado', NULL, NULL), +(7500000, 75, 'Não Informado', NULL, NULL), +(7600000, 76, 'Não Informado', NULL, NULL), +(7700000, 77, 'Não Informado', NULL, NULL), +(7800000, 78, 'Não Informado', NULL, NULL); + +UNLOCK TABLES; diff --git a/src/database/migrations/20250426233203_herbario.sql b/src/database/migrations/20250426233203_herbarios.sql similarity index 51% rename from src/database/migrations/20250426233203_herbario.sql rename to src/database/migrations/20250426233203_herbarios.sql index 4367bc0a..3e5af792 100644 --- a/src/database/migrations/20250426233203_herbario.sql +++ b/src/database/migrations/20250426233203_herbarios.sql @@ -1,42 +1,3 @@ -create table `paises` ( - `id` smallint unsigned not null auto_increment, - `nome` varchar(255) not null, - `sigla` char(4) default null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - index `paises_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `estados` ( - `id` int unsigned not null auto_increment, - `nome` varchar(255) not null, - `sigla` char(4) default null, - `codigo_telefone` varchar(10) default null, - `pais_id` smallint unsigned not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - constraint `estados_paises_fk` foreign key (`pais_id`) references `paises` (`id`), - index `estados_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `cidades` ( - `id` int unsigned not null auto_increment, - `estado_id` int unsigned not null, - `nome` varchar(255) not null, - `latitude` decimal(10,7) default null, - `longitude` decimal(10,7) default null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - constraint `cidades_estados_fk` foreign key (`estado_id`) references `estados` (`id`), - index `cidades_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - create table `enderecos` ( `id` int unsigned not null auto_increment, `logradouro` varchar(200) not null, diff --git a/src/database/migrations/20250426233223_usuario.sql b/src/database/migrations/20250426233223_usuarios.sql similarity index 100% rename from src/database/migrations/20250426233223_usuario.sql rename to src/database/migrations/20250426233223_usuarios.sql diff --git a/src/database/migrations/20250426233236_tombo.sql b/src/database/migrations/20250426233236_tombos.sql similarity index 98% rename from src/database/migrations/20250426233236_tombo.sql rename to src/database/migrations/20250426233236_tombos.sql index d98f698a..07cebd54 100644 --- a/src/database/migrations/20250426233236_tombo.sql +++ b/src/database/migrations/20250426233236_tombos.sql @@ -108,9 +108,9 @@ create table `tombos` ( `observacao` text, `nomes_populares` text, `numero_coleta` int unsigned default null, - `latitude` decimal(10,7) default null, - `longitude` decimal(10,7) default null, - `altitude` decimal(8,2) default null, + `latitude` decimal(10, 7) default null, + `longitude` decimal(10, 7) default null, + `altitude` decimal(8, 2) default null, `entidade_id` int unsigned default null, `local_coleta_id` int unsigned default null, `variedade_id` int unsigned default null, From 2816154d3dc37fe1860af217b2053816f91fbd55 Mon Sep 17 00:00:00 2001 From: Edvaldo Szymonek Date: Thu, 15 May 2025 08:11:33 -0300 Subject: [PATCH 06/14] insere fase sucessional --- src/database/migrations/20250426233236_tombos.sql | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/database/migrations/20250426233236_tombos.sql b/src/database/migrations/20250426233236_tombos.sql index 07cebd54..bfd692a9 100644 --- a/src/database/migrations/20250426233236_tombos.sql +++ b/src/database/migrations/20250426233236_tombos.sql @@ -74,6 +74,17 @@ create table `fase_sucessional` ( ) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; +LOCK TABLES `fase_sucessional` WRITE; + +INSERT INTO `fase_sucessional` VALUES +(1, '1º fase sucessão vegetal'), +(2, '2º fase sucessão vegetal'), +(3, '3º fase ou capoeirinhia'), +(4, '4º fase capoeira'), +(5, '5º fase capoeirão'), +(6, '6º fase floresta secundária') + + create table `locais_coleta` ( `id` int unsigned not null auto_increment, `descricao` text, @@ -236,3 +247,5 @@ create table `retirada_exsicata_tombos` ( constraint `retirada_exsicata_tombos_remessas_fk` foreign key (`retirada_exsicata_id`) references `remessas` (`id`), constraint `retirada_exsicata_tombos_tombos_fk` foreign key (`tombo_hcf`) references `tombos` (`hcf`) ) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; + +UNLOCK TABLES; From 7ac005ada130a53a173c138658f25269ded11492 Mon Sep 17 00:00:00 2001 From: Edvaldo Szymonek Date: Tue, 1 Jul 2025 22:33:21 -0300 Subject: [PATCH 07/14] atualiza arquivo lock --- src/controllers/pendencias-controller.js | 1 - yarn.lock | 130 ++++++++++++++--------- 2 files changed, 79 insertions(+), 52 deletions(-) diff --git a/src/controllers/pendencias-controller.js b/src/controllers/pendencias-controller.js index becb2078..6c8dc919 100644 --- a/src/controllers/pendencias-controller.js +++ b/src/controllers/pendencias-controller.js @@ -1945,7 +1945,6 @@ export async function visualizar(request, response, next) { nest: true, }); - if (identificadores?.length) { const identificadorAntigo = identificadores.find(i => i.ordem === 1)?.identificadore; if (identificadorAntigo && identificadorAntigo.identificador_id !== parametros.identificador.id) { diff --git a/yarn.lock b/yarn.lock index af3a956b..5c7e5feb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,6 +10,38 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" +"@apidevtools/json-schema-ref-parser@^9.0.6": + version "9.1.2" + resolved "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.1.2.tgz#8ff5386b365d4c9faa7c8b566ff16a46a577d9b8" + integrity sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg== + dependencies: + "@jsdevtools/ono" "^7.1.3" + "@types/json-schema" "^7.0.6" + call-me-maybe "^1.0.1" + js-yaml "^4.1.0" + +"@apidevtools/openapi-schemas@^2.0.4": + version "2.1.0" + resolved "https://registry.npmjs.org/@apidevtools/openapi-schemas/-/openapi-schemas-2.1.0.tgz#9fa08017fb59d80538812f03fc7cac5992caaa17" + integrity sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ== + +"@apidevtools/swagger-methods@^3.0.2": + version "3.0.2" + resolved "https://registry.npmjs.org/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz#b789a362e055b0340d04712eafe7027ddc1ac267" + integrity sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg== + +"@apidevtools/swagger-parser@10.0.3": + version "10.0.3" + resolved "https://registry.npmjs.org/@apidevtools/swagger-parser/-/swagger-parser-10.0.3.tgz#32057ae99487872c4dd96b314a1ab4b95d89eaf5" + integrity sha512-sNiLY51vZOmSPFZA5TF35KZ2HbgYklQnTSDnkghamzLb3EkNtcQnrBQEj5AOCxHpTtXpqMCRM1CrmV2rG6nw4g== + dependencies: + "@apidevtools/json-schema-ref-parser" "^9.0.6" + "@apidevtools/openapi-schemas" "^2.0.4" + "@apidevtools/swagger-methods" "^3.0.2" + "@jsdevtools/ono" "^7.1.3" + call-me-maybe "^1.0.1" + z-schema "^5.0.1" + "@babel/cli@7.27.0": version "7.27.0" resolved "https://registry.npmjs.org/@babel/cli/-/cli-7.27.0.tgz#076603b25fc7dd88298ea94ab249c8237c7e71cc" @@ -2135,16 +2167,16 @@ babel-plugin-jest-hoist@^29.6.3: "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" -babel-plugin-module-resolver@5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.2.tgz#cdeac5d4aaa3b08dd1ac23ddbf516660ed2d293e" - integrity sha512-9KtaCazHee2xc0ibfqsDeamwDps6FZNo5S0Q81dUqEuFzVwPhcT4J5jOqIVvgCA3Q/wO9hKYxN/Ds3tIsp5ygg== +babel-plugin-module-resolver@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.0.tgz#2b7fc176bd55da25f516abf96015617b4f70fc73" + integrity sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q== dependencies: - find-babel-config "^2.1.1" - glob "^9.3.3" + find-babel-config "^2.0.0" + glob "^8.0.3" pkg-up "^3.1.0" reselect "^4.1.7" - resolve "^1.22.8" + resolve "^1.22.1" babel-plugin-polyfill-corejs2@^0.4.5: version "0.4.13" @@ -2591,6 +2623,11 @@ commander@13.1.0: resolved "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz#776167db68c78f38dcce1f9b8d7b8b9a488abf46" integrity sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw== +commander@6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75" + integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q== + commander@^10.0.0: version "10.0.1" resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz" @@ -3563,7 +3600,7 @@ finalhandler@^2.1.0: parseurl "^1.3.3" statuses "^2.0.1" -find-babel-config@^2.1.1: +find-babel-config@^2.0.0: version "2.1.2" resolved "https://registry.npmjs.org/find-babel-config/-/find-babel-config-2.1.2.tgz#2841b1bfbbbcdb971e1e39df8cbc43dafa901716" integrity sha512-ZfZp1rQyp4gyuxqt1ZqjFGVeVBvmpURMqdIWXbPRfB97Bf6BzdK/xSIbylEINzQ0kB5tlDQfn9HkNXXWsqTqLg== @@ -3874,15 +3911,16 @@ glob@^7.1.3, glob@^7.1.4, glob@^7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^9.3.3: - version "9.3.5" - resolved "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" - integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== +glob@^8.0.3: + version "8.1.0" + resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== dependencies: fs.realpath "^1.0.0" - minimatch "^8.0.2" - minipass "^4.2.4" - path-scurry "^1.6.1" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" globals@^11.1.0: version "11.12.0" @@ -5084,6 +5122,11 @@ lodash.debounce@^4.0.8: resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + lodash.includes@^4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" @@ -5094,6 +5137,11 @@ lodash.isboolean@^3.0.3: resolved "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + lodash.isinteger@^4.0.4: version "4.0.4" resolved "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" @@ -5119,6 +5167,11 @@ lodash.merge@^4.6.2: resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.mergewith@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== + lodash.once@^4.0.0: version "4.1.1" resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" @@ -5134,18 +5187,6 @@ long@^5.2.1: resolved "https://registry.npmjs.org/long/-/long-5.3.1.tgz" integrity sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng== -loupe@^2.3.6: - version "2.3.7" - resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz" - integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== - dependencies: - get-func-name "^2.0.1" - -lru-cache@^10.2.0: - version "10.4.3" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" - integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== - lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" @@ -5281,10 +5322,10 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@^8.0.2: - version "8.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" - integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== dependencies: brace-expansion "^2.0.1" @@ -5300,21 +5341,11 @@ minipass@^3.0.0: dependencies: yallist "^4.0.0" -minipass@^4.2.4: - version "4.2.8" - resolved "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" - integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== - minipass@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": - version "7.1.2" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" - integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== - minizlib@^2.1.1: version "2.1.2" resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" @@ -5808,14 +5839,6 @@ path-parse@^1.0.7: resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-scurry@^1.6.1: - version "1.11.1" - resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" - integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== - dependencies: - lru-cache "^10.2.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-to-regexp@^8.0.0: version "8.2.0" resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz#73990cc29e57a3ff2a0d914095156df5db79e8b4" @@ -6258,7 +6281,7 @@ resolve.exports@^2.0.0: resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz" integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== -resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4, resolve@^1.22.8: +resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.4: version "1.22.10" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz" integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== @@ -7062,7 +7085,7 @@ type-detect@4.0.8: type-detect@^4.0.0: version "4.1.0" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" integrity sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw== type-fest@^0.20.2: @@ -7264,6 +7287,11 @@ validator@^10.4.0: resolved "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz" integrity sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw== +validator@^13.7.0: + version "13.15.15" + resolved "https://registry.npmjs.org/validator/-/validator-13.15.15.tgz#246594be5671dc09daa35caec5689fcd18c6e7e4" + integrity sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A== + validator@~13.12.0: version "13.12.0" resolved "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz#7d78e76ba85504da3fee4fd1922b385914d4b35f" From 96e8ff2f7fa4e151dc569b32ddfeb759815e4add Mon Sep 17 00:00:00 2001 From: Edvaldo Szymonek Date: Tue, 12 Aug 2025 00:12:10 -0300 Subject: [PATCH 08/14] =?UTF-8?q?implementa=20migra=C3=A7=C3=A3o=20com=20a?= =?UTF-8?q?rquivos=20ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 - src/database/apply-migration-service.ts | 18 +- src/database/cli.ts | 2 +- src/database/migration-file-system.ts | 38 +- src/database/migration-repository.ts | 7 +- .../migrations/20250426233006_paises.sql | 274 - .../migrations/20250426233120_estados.sql | 69 - .../migrations/20250426233134_cidades.sql | 5612 ----------------- .../migrations/20250426233203_herbarios.sql | 39 - .../migrations/20250426233215_taxonomia.sql | 104 - .../migrations/20250426233223_usuarios.sql | 36 - .../migrations/20250426233236_tombos.sql | 251 - .../20250426233245_configuracao.sql | 13 - 13 files changed, 47 insertions(+), 6417 deletions(-) delete mode 100644 src/database/migrations/20250426233006_paises.sql delete mode 100644 src/database/migrations/20250426233120_estados.sql delete mode 100644 src/database/migrations/20250426233134_cidades.sql delete mode 100644 src/database/migrations/20250426233203_herbarios.sql delete mode 100644 src/database/migrations/20250426233215_taxonomia.sql delete mode 100644 src/database/migrations/20250426233223_usuarios.sql delete mode 100644 src/database/migrations/20250426233236_tombos.sql delete mode 100644 src/database/migrations/20250426233245_configuracao.sql diff --git a/package.json b/package.json index a1b9b5c0..f5c2ae64 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,6 @@ "@typescript-eslint/parser": "6.7.0", "babel-plugin-module-resolver": "5.0.0", "chai": "4.1.2", - "axios": "1.8.4", "chai-http": "^4.0.0", "eslint": "8.49.0", "eslint-config-airbnb-base": "15.0.0", diff --git a/src/database/apply-migration-service.ts b/src/database/apply-migration-service.ts index 1db8cefa..e1d3d57e 100644 --- a/src/database/apply-migration-service.ts +++ b/src/database/apply-migration-service.ts @@ -21,18 +21,18 @@ export class ApplyMigrationService { async execute() { const migrationFilePaths = await this.migrationFileSystem.listMigrationFiles() - const migrationFileNames = migrationFilePaths.map(file => path.basename(file, '.sql')) + const migrationNames = migrationFilePaths.map(file => path.basename(file, path.extname(file))) await this.migrationRepository.ensureMigrationTableExists() const appliedMigrations = await this.migrationRepository.getAppliedMigrations() - const missingMigrations = appliedMigrations.filter(appliedMigration => !migrationFileNames.includes(appliedMigration.name)) + const missingMigrations = appliedMigrations.filter(appliedMigration => !migrationNames.includes(appliedMigration.name)) if (missingMigrations.length) { const missingMigrationsNames = missingMigrations.map(migration => migration.name) throw new CorruptedDirectoryError('The migration directory is missing some files', missingMigrationsNames) } - const unappliedMigrations = migrationFileNames + const unappliedMigrations = migrationNames .filter(migrationFileName => !appliedMigrations.some(appliedMigration => appliedMigration.name === migrationFileName)) if (!unappliedMigrations.length) { @@ -41,9 +41,15 @@ export class ApplyMigrationService { } /* eslint-disable no-restricted-syntax, no-await-in-loop */ - for (const migrationFileName of unappliedMigrations) { - const migrationFileContent = await this.migrationFileSystem.getMigrationFileContent(migrationFileName) - await this.migrationRepository.applyMigration(migrationFileName, migrationFileContent) + for (const migrationName of unappliedMigrations) { + try { + await this.migrationFileSystem.runMigrationFile(migrationName) + await this.migrationRepository.applyMigration(migrationName) + } catch (error) { + // eslint-disable-next-line no-console + console.error(`Error applying migration ${migrationName}`, error) + throw error + } } /* eslint-enable no-restricted-syntax */ } diff --git a/src/database/cli.ts b/src/database/cli.ts index 6eb23c58..033fcff4 100644 --- a/src/database/cli.ts +++ b/src/database/cli.ts @@ -27,7 +27,7 @@ const migrationKnex = createKnex({ } }) -const migrationFileSystem = new MigrationFileSystem({ migrationsPath: path.join(__dirname, 'migrations') }) +const migrationFileSystem = new MigrationFileSystem({ knex: migrationKnex, migrationsPath: path.join(__dirname, 'migrations') }) const migrationDataSource = new MigrationRepository({ knex: migrationKnex, tableName: 'migrations' }) async function createMigration(name: string) { diff --git a/src/database/migration-file-system.ts b/src/database/migration-file-system.ts index 72c3967a..0a9e45e3 100644 --- a/src/database/migration-file-system.ts +++ b/src/database/migration-file-system.ts @@ -1,15 +1,26 @@ +import { Knex } from 'knex' import fs from 'node:fs' import path from 'node:path' interface Dependencies { + knex: Knex migrationsPath: string } +const MIGRATION_TEMPLATE = `import { Knex } from 'knex' + +export async function run(knex: Knex): Promise { + await knex.raw('') +} +` + export class MigrationFileSystem { + private readonly knex: Knex private readonly migrationsPath: string constructor(readonly dependencies: Dependencies) { + this.knex = dependencies.knex this.migrationsPath = dependencies.migrationsPath } @@ -19,9 +30,9 @@ export class MigrationFileSystem { .replace(/\D/g, '') const fileName = `${timestamp}_${name}` - const upFilePath = path.join(this.migrationsPath, `${fileName}.sql`) + const upFilePath = path.join(this.migrationsPath, `${fileName}.ts`) - fs.writeFileSync(upFilePath, '') + fs.writeFileSync(upFilePath, MIGRATION_TEMPLATE) return upFilePath } @@ -29,14 +40,29 @@ export class MigrationFileSystem { async listMigrationFiles(): Promise { const files = fs.readdirSync(this.migrationsPath) return files - .filter(file => file.endsWith('.sql')) + .filter(file => /\.[jt]s$/.test(file)) .sort() .map(file => path.join(this.migrationsPath, file)) } - async getMigrationFileContent(name: string): Promise { - const filePath = path.join(this.migrationsPath, `${name}.sql`) - return fs.readFileSync(filePath, 'utf8') + private async importMigrationModule(name: string): Promise<{ run: (knex: Knex) => Promise }> { + const filePathWithoutExtension = path.join(this.migrationsPath, name) + + let migrationModule: { run: (knex: Knex) => Promise } + if (fs.existsSync(`${filePathWithoutExtension}.ts`)) { + migrationModule = await import(`${filePathWithoutExtension}.ts`) + } else if (fs.existsSync(`${filePathWithoutExtension}.js`)) { + migrationModule = await import(`${filePathWithoutExtension}.js`) + } else { + throw new Error(`Migration file ${name} not found`) + } + + return migrationModule + } + + async runMigrationFile(name: string): Promise { + const migration = await this.importMigrationModule(name) + await migration.run(this.knex) } } diff --git a/src/database/migration-repository.ts b/src/database/migration-repository.ts index 022040d6..7b718d15 100644 --- a/src/database/migration-repository.ts +++ b/src/database/migration-repository.ts @@ -30,12 +30,9 @@ export class MigrationRepository { return this.knex(this.tableName).select(['name', 'applied_at']) } - async applyMigration(name: string, content: string): Promise { + async applyMigration(name: string): Promise { console.info(`Applying migration ${name}`) // eslint-disable-line no-console - await this.knex.transaction(async trx => { - await trx.raw(content) - await trx(this.tableName).insert({ name, applied_at: new Date() }) - }) + await this.knex(this.tableName).insert({ name, applied_at: new Date() }) } } diff --git a/src/database/migrations/20250426233006_paises.sql b/src/database/migrations/20250426233006_paises.sql deleted file mode 100644 index c71b1388..00000000 --- a/src/database/migrations/20250426233006_paises.sql +++ /dev/null @@ -1,274 +0,0 @@ -create table `paises` ( - `id` smallint unsigned not null auto_increment, - `nome` varchar(255) not null, - `sigla` char(4) default null, - primary key (`id`), - index `paises_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -LOCK TABLES `paises` WRITE; - -INSERT INTO `paises` VALUES -(4, 'Afeganistão', 'AFG'), -(8, 'Albânia', 'ALB'), -(10, 'Antártida', 'ATA'), -(12, 'Argélia', 'DZA'), -(16, 'Samoa Americana', 'ASM'), -(20, 'Andorra', 'AND'), -(24, 'Angola', 'AGO'), -(28, 'Antígua e Barbuda', 'ATG'), -(31, 'Azerbaijão', 'AZE'), -(32, 'Argentina', 'ARG'), -(36, 'Austrália', 'AUS'), -(40, 'Áustria', 'AUT'), -(44, 'Bahamas', 'BHS'), -(48, 'Bahrein', 'BHR'), -(50, 'Bangladesh', 'BGD'), -(51, 'Armênia', 'ARM'), -(52, 'Barbados', 'BRB'), -(56, 'Bélgica', 'BEL'), -(60, 'Bermudas', 'BMU'), -(64, 'Butão', 'BTN'), -(68, 'Bolívia', 'BOL'), -(70, 'Bósnia e Herzegovina', 'BIH'), -(72, 'Botsuana', 'BWA'), -(74, 'Ilhas Bouvet', 'BVT'), -(76, 'Brasil', 'BRA'), -(84, 'Belize', 'BLZ'), -(86, 'Território Britânico do Oceano Índico', 'IOT'), -(90, 'Ilhas Salomão', 'SLB'), -(92, 'Ilhas Virgens Britânicas', 'VGB'), -(96, 'Brunei', 'BRN'), -(100, 'Bulgária', 'BGR'), -(104, 'Myanmar', 'MMR'), -(108, 'Burundi', 'BDI'), -(112, 'Bielorrússia', 'BLR'), -(116, 'Camboja', 'KHM'), -(120, 'Camarões', 'CMR'), -(124, 'Canadá', 'CAN'), -(132, 'Cabo Verde', 'CPV'), -(136, 'Ilhas Caiman', 'CYM'), -(140, 'República Centro Africana', 'CAF'), -(144, 'Sri Lanka', 'LKA'), -(148, 'Chade', 'TCD'), -(152, 'Chile', 'CHL'), -(156, 'China', 'CHN'), -(158, 'Republica da China', 'TWN'), -(162, 'Ilhas Natal', 'CXR'), -(166, 'Ilhas Cocos', 'CCK'), -(170, 'Colômbia', 'COL'), -(174, 'Comores', 'COM'), -(175, 'Mayotte', 'MYT'), -(178, 'Congo', 'COG'), -(180, 'República Democrática do Congo', 'COD'), -(184, 'Ilhas Cook', 'COK'), -(188, 'Costa Rica', 'CRI'), -(191, 'Croácia', 'HRV'), -(192, 'Cuba', 'CUB'), -(196, 'Chipre', 'CYP'), -(200, 'Tchecoslováquia', ''), -(203, 'República Tcheca', 'CZE'), -(204, 'Benin', 'BEN'), -(208, 'Dinamarca', 'DNK'), -(212, 'Dominica', 'DMA'), -(214, 'República Dominicana', 'DOM'), -(218, 'Equador', 'ECU'), -(222, 'El Salvador', 'SLV'), -(226, 'Guiné Equatorial', 'GNQ'), -(231, 'Etiópia', 'ETH'), -(232, 'Eritréia', 'ERI'), -(233, 'Estônia', 'EST'), -(234, 'Ilhas Feroe', 'FRO'), -(238, 'Ilhas Malvinas', 'FLK'), -(239, 'Ilhas Geórgia do Sul e Sandwich do Sul', 'SGS'), -(242, 'Fiji', 'FJI'), -(246, 'Finlândia', 'FIN'), -(248, 'Ilhas Åland', 'ALA'), -(250, 'França', 'FRA'), -(254, 'Guiana Francesa', 'GUF'), -(258, 'Polinésia Francesa', 'PYF'), -(260, 'Terras Austrais e Antárticas Francesas', 'ATF'), -(262, 'Djibuti', 'DJI'), -(266, 'Gabão', 'GAB'), -(268, 'Geórgia', 'GEO'), -(270, 'Gâmbia', 'GMB'), -(275, 'Palestina', 'PSE'), -(276, 'Alemanha', 'DEU'), -(288, 'Gana', 'GHA'), -(292, 'Gibraltar', 'GIB'), -(296, 'Quiribati', 'KIR'), -(300, 'Grécia', 'GRC'), -(304, 'Groenlândia', 'GRL'), -(308, 'Granada', 'GRD'), -(312, 'Guadalupe', 'GLP'), -(316, 'Guam', 'GUM'), -(320, 'Guatemala', 'GTM'), -(324, 'Guiné', 'GIN'), -(328, 'Guiana', 'GUY'), -(332, 'Haiti', 'HTI'), -(334, 'Ilha Heard e Ilhas Mcdonald', 'HMD'), -(336, 'Vaticano', 'VAT'), -(339, 'Apátrida1', 'AAA'), -(340, 'Honduras', 'HND'), -(344, 'Hong Kong', 'HKG'), -(348, 'Hungria', 'HUN'), -(352, 'Islândia', 'ISL'), -(356, 'Índia', 'IND'), -(360, 'Indonésia', 'IDN'), -(364, 'Irã', 'IRN'), -(368, 'Iraque', 'IRQ'), -(372, 'Irlanda', 'IRL'), -(376, 'Israel', 'ISR'), -(380, 'Itália', 'ITA'), -(384, 'Costa do Marfim', 'CIV'), -(388, 'Jamaica', 'JAM'), -(392, 'Japão', 'JPN'), -(398, 'Cazaquistão', 'KAZ'), -(400, 'Jordânia', 'JOR'), -(404, 'Quênia', 'KEN'), -(408, 'Coreia do Norte', 'PRK'), -(410, 'Coreia do Sul', 'KOR'), -(414, 'Kuwait', 'KWT'), -(417, 'Quirguistão', 'KGZ'), -(418, 'Laos', 'LAO'), -(422, 'Líbano', 'LBN'), -(426, 'Lesoto', 'LSO'), -(428, 'Letônia', 'LVA'), -(430, 'Libéria', 'LBR'), -(434, 'Líbia', 'LBY'), -(438, 'Liechtenstein', 'LIE'), -(440, 'Lituânia', 'LTU'), -(442, 'Luxemburgo', 'LUX'), -(446, 'Macau', 'MAC'), -(450, 'Madagáscar', 'MDG'), -(454, 'Malawi', 'MWI'), -(458, 'Malásia', 'MYS'), -(462, 'Maldivas', 'MDV'), -(466, 'Mali', 'MLI'), -(470, 'Malta', 'MLT'), -(474, 'Martinica', 'MTQ'), -(478, 'Mauritânia', 'MRT'), -(480, 'Maurício', 'MUS'), -(484, 'México', 'MEX'), -(492, 'Mônaco', 'MCO'), -(496, 'Mongólia', 'MNG'), -(498, 'Moldávia', 'MDA'), -(499, 'Montenegro', 'MNE'), -(500, 'Montserrat', 'MSR'), -(504, 'Marrocos', 'MAR'), -(508, 'Moçambique', 'MOZ'), -(512, 'Oman', 'OMN'), -(516, 'Namíbia', 'NAM'), -(520, 'Nauru', 'NRU'), -(524, 'Nepal', 'NPL'), -(528, 'Holanda', 'NLD'), -(530, 'Antilhas Holandesas', 'ANT'), -(531, 'Curaçao', 'CUW'), -(533, 'Aruba', 'ABW'), -(534, 'Sint Maarten', 'SXM'), -(535, 'Bonaire, Saint Eustatius e Saba', 'BES'), -(540, 'Nova Caledônia', 'NCL'), -(548, 'Vanuatu', 'VUT'), -(554, 'Nova Zelândia', 'NZL'), -(558, 'Nicarágua', 'NIC'), -(562, 'Níger', 'NER'), -(566, 'Nigéria', 'NGA'), -(570, 'Niue', 'NIU'), -(574, 'Ilha Norfolk', 'NFK'), -(578, 'Noruega', 'NOR'), -(580, 'Ilhas Mariana', 'MNP'), -(581, 'Ilhas Menores Distantes dos Estados Unidos', 'UMI'), -(582, 'Ilhas do Pacífico', ''), -(583, 'Micronesia', 'FSM'), -(584, 'Ilhas Marshall', 'MHL'), -(585, 'Palau', 'PLW'), -(586, 'Paquistão', 'PAK'), -(591, 'Panamá', 'PAN'), -(598, 'Papua Nova Guiné', 'PNG'), -(600, 'Paraguai', 'PRY'), -(604, 'Peru', 'PER'), -(608, 'Filipinas', 'PHL'), -(612, 'Pitcairin', 'PCN'), -(616, 'Polônia', 'POL'), -(620, 'Portugal', 'PRT'), -(624, 'Guiné Bissau', 'GNB'), -(626, 'Timor Leste', 'TLS'), -(630, 'Porto Rico', 'PRI'), -(634, 'Catar', 'QAT'), -(638, 'Reunião', 'REU'), -(642, 'Romênia', 'ROU'), -(643, 'Rússia', 'RUS'), -(646, 'Ruanda', 'RWA'), -(652, 'São Bartolomeu', 'BLM'), -(654, 'Santa Helena', 'SHN'), -(659, 'São Cristovão e Nevis', 'KNA'), -(660, 'Anguilla', 'AIA'), -(662, 'Santa Lúcia', 'LCA'), -(663, 'Saint-Martin', 'MAF'), -(666, 'Saint Pierre e Miquelon', 'SPM'), -(670, 'São Vicente e Granadinas', 'VCT'), -(674, 'San Marino', 'SMR'), -(678, 'São Tomé e Príncipe', 'STP'), -(680, 'Sark', ''), -(682, 'Arábia Saudita', 'SAU'), -(686, 'Senegal', 'SEN'), -(688, 'Sérvia', 'SRB'), -(690, 'Seychelles', 'SYC'), -(694, 'Serra Leoa', 'SLE'), -(702, 'Cingapura', 'SGP'), -(703, 'Eslováquia', 'SVK'), -(704, 'Vietnã', 'VNM'), -(705, 'Eslovênia', 'SVN'), -(706, 'Somália', 'SOM'), -(710, 'África do Sul', 'ZAF'), -(716, 'Zimbábue', 'ZWE'), -(724, 'Espanha', 'ESP'), -(728, 'Sudão do Sul', 'SSD'), -(729, 'Sudão', 'SDN'), -(732, 'Saara Ocidental', 'ESH'), -(736, 'Sudão', ''), -(740, 'Suriname', 'SUR'), -(744, 'Svalbard e Jan Mayer', 'SJM'), -(748, 'Suazilândia', 'SWZ'), -(752, 'Suécia', 'SWE'), -(756, 'Suíça', 'CHE'), -(760, 'Síria', 'SYR'), -(762, 'Tajiquistão', 'TJK'), -(764, 'Tailândia', 'THA'), -(768, 'Togo', 'TGO'), -(772, 'Tokelau', 'TKL'), -(776, 'Tonga', 'TON'), -(780, 'Trindade e Tobago', 'TTO'), -(784, 'Emirados Árabes Unidos', 'ARE'), -(788, 'Tunísia', 'TUN'), -(792, 'Turquia', 'TUR'), -(795, 'Turquemenistão', 'TKM'), -(796, 'Ilhas Turks e Caicos', 'TCA'), -(798, 'Tuvalu', 'TUV'), -(800, 'Uganda', 'UGA'), -(804, 'Ucrânia', 'UKR'), -(807, 'República da Macedônia', 'MKD'), -(810, 'União Soviética', ''), -(818, 'Egito', 'EGY'), -(826, 'Reino Unido da Grã Bretanha e Irlanda do Norte', 'GBR'), -(830, 'Ilhas do Canal', ''), -(831, 'Guernsey', 'GGY'), -(832, 'Jersey', 'JEY'), -(833, 'Ilhas de Man', 'IMN'), -(834, 'Tanzânia', 'TZA'), -(840, 'Estados Unidos da América', 'USA'), -(850, 'Ilhas Virgens Americanas', 'VIR'), -(854, 'Burquina Faso', 'BFA'), -(858, 'Uruguai', 'URY'), -(860, 'Uzbequistão', 'UZB'), -(862, 'Venezuela', 'VEN'), -(876, 'Ilhas Wallis e Futuna', 'WLF'), -(882, 'Samoa', 'WSM'), -(887, 'Iémen', 'YEM'), -(890, 'Iugoslávia', ''), -(894, 'Zâmbia', 'ZMB'), -(900, 'Coréia do Norte/Coréia do Sul', ''), -(999, 'Outra Nacionalidade', 'OOO'); - -UNLOCK TABLES; diff --git a/src/database/migrations/20250426233120_estados.sql b/src/database/migrations/20250426233120_estados.sql deleted file mode 100644 index fce914be..00000000 --- a/src/database/migrations/20250426233120_estados.sql +++ /dev/null @@ -1,69 +0,0 @@ -create table `estados` ( - `id` int unsigned not null auto_increment, - `nome` varchar(255) not null, - `sigla` char(4) default null, - `codigo_telefone` varchar(10) default null, - `pais_id` smallint unsigned not null, - primary key (`id`), - constraint `estados_paises_fk` foreign key (`pais_id`) references `paises` (`id`), - index `estados_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -LOCK TABLES `estados` WRITE; - -INSERT INTO `estados` VALUES -(11, 'Rondônia', 'RO', NULL, 76), -(12, 'Acre', 'AC', NULL, 76), -(13, 'Amazonas', 'AM', NULL, 76), -(14, 'Roraima', 'RR', NULL, 76), -(15, 'Pará', 'PA', NULL, 76), -(16, 'Amapá', 'AP', NULL, 76), -(17, 'Tocantins', 'TO', NULL, 76), -(21, 'Maranhão', 'MA', NULL, 76), -(22, 'Piauí', 'PI', NULL, 76), -(23, 'Ceará', 'CE', NULL, 76), -(24, 'Rio Grande do Norte', 'RN', NULL, 76), -(25, 'Paraíba', 'PB', NULL, 76), -(26, 'Pernambuco', 'PE', NULL, 76), -(27, 'Alagoas', 'AL', NULL, 76), -(28, 'Sergipe', 'SE', NULL, 76), -(29, 'Bahia', 'BA', NULL, 76), -(31, 'Minas Gerais', 'MG', NULL, 76), -(32, 'Espírito Santo', 'ES', NULL, 76), -(33, 'Rio de Janeiro', 'RJ', NULL, 76), -(35, 'São Paulo', 'SP', NULL, 76), -(41, 'Paraná', 'PR', NULL, 76), -(42, 'Santa Catarina', 'SC', NULL, 76), -(43, 'Rio Grande do Sul', 'RS', NULL, 76), -(50, 'Mato Grosso do Sul', 'MS', NULL, 76), -(51, 'Mato Grosso', 'MT', NULL, 76), -(52, 'Goiás', 'GO', NULL, 76), -(53, 'Distrito Federal', 'DF', NULL, 76), -(54, 'Não Informado', 'NI', NULL, 32), -(55, 'Não Informado', 'NI', NULL, 36), -(56, 'Não Informado', 'NI', NULL, 40), -(57, 'Não Informado', 'NI', NULL, 68), -(58, 'Não Informado', 'NI', NULL, 152), -(59, 'Não Informado', 'NI', NULL, 156), -(60, 'Não Informado', 'NI', NULL, 188), -(61, 'Não Informado', 'NI', NULL, 196), -(62, 'Não Informado', 'NI', NULL, 226), -(63, 'Não Informado', 'NI', NULL, 250), -(64, 'Não Informado', 'NI', NULL, 276), -(65, 'Não Informado', 'NI', NULL, 380), -(66, 'Não Informado', 'NI', NULL, 392), -(67, 'Não Informado', 'NI', NULL, 484), -(68, 'Não Informado', 'NI', NULL, 504), -(69, 'Não Informado', 'NI', NULL, 554), -(70, 'Não Informado', 'NI', NULL, 600), -(71, 'Não Informado', 'NI', NULL, 604), -(72, 'Não Informado', 'NI', NULL, 620), -(73, 'Não Informado', 'NI', NULL, 643), -(74, 'Não Informado', 'NI', NULL, 724), -(75, 'Não Informado', 'NI', NULL, 756), -(76, 'Não Informado', 'NI', NULL, 840), -(77, 'Não Informado', 'NI', NULL, 858), -(78, 'Não Informado', 'NI', NULL, 862); - -UNLOCK TABLES; diff --git a/src/database/migrations/20250426233134_cidades.sql b/src/database/migrations/20250426233134_cidades.sql deleted file mode 100644 index 1b0840a6..00000000 --- a/src/database/migrations/20250426233134_cidades.sql +++ /dev/null @@ -1,5612 +0,0 @@ -create table `cidades` ( - `id` int unsigned not null auto_increment, - `estado_id` int unsigned not null, - `nome` varchar(255) not null, - `latitude` decimal(10, 7) default null, - `longitude` decimal(10, 7) default null, - primary key (`id`), - constraint `cidades_estados_fk` foreign key (`estado_id`) references `estados` (`id`), - index `cidades_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -LOCK TABLES `cidades` WRITE; - -INSERT INTO `cidades` VALUES -(1100015, 11, "Alta Floresta D'Oeste", -11.9283000, -61.9953000), -(1100023, 11, 'Ariquemes', -9.9133000, -63.0408000), -(1100031, 11, 'Cabixi', -13.4945000, -60.5520000), -(1100049, 11, 'Cacoal', -11.4343000, -61.4562000), -(1100056, 11, 'Cerejeiras', -13.1870000, -60.8168000), -(1100064, 11, 'Colorado do Oeste', -13.1174000, -60.5454000), -(1100072, 11, 'Corumbiara', -12.9551000, -60.8947000), -(1100080, 11, 'Costa Marques', -12.4367000, -64.2280000), -(1100098, 11, "Espigão D'Oeste", -11.5266000, -61.0252000), -(1100106, 11, 'Guajará-Mirim', -10.7889000, -65.3296000), -(1100114, 11, 'Jaru', -10.4318000, -62.4788000), -(1100122, 11, 'Ji-Paraná', -10.8777000, -61.9322000), -(1100130, 11, "Machadinho D'Oeste", -94.4363000, -61.9818000), -(1100148, 11, "Nova Brasilândia D'Oeste", -11.7247000, -62.3127000), -(1100155, 11, 'Ouro Preto do Oeste', -10.7167000, -62.2565000), -(1100189, 11, 'Pimenta Bueno', -11.6720000, -61.1980000), -(1100205, 11, 'Porto Velho', -87.6077000, -63.8999000), -(1100254, 11, 'Presidente Médici', -11.1690000, -61.8986000), -(1100262, 11, 'Rio Crespo', -96.9965000, -62.9011000), -(1100288, 11, 'Rolim de Moura', -11.7271000, -61.7714000), -(1100296, 11, "Santa Luzia D'Oeste", -11.9074000, -61.7777000), -(1100304, 11, 'Vilhena', -12.7502000, -60.1488000), -(1100320, 11, 'São Miguel do Guaporé', -11.6953000, -62.7192000), -(1100338, 11, 'Nova Mamoré', -10.4077000, -65.3346000), -(1100346, 11, "Alvorada D'Oeste", -11.3463000, -62.2847000), -(1100379, 11, 'Alto Alegre dos Parecis', -12.1320000, -61.8350000), -(1100403, 11, 'Alto Paraíso', -97.1429000, -63.3188000), -(1100452, 11, 'Buritis', -10.1943000, -63.8324000), -(1100502, 11, 'Novo Horizonte do Oeste', -11.6961000, -61.9951000), -(1100601, 11, 'Cacaulândia', -10.3490000, -62.9043000), -(1100700, 11, 'Campo Novo de Rondônia', -10.5712000, -63.6266000), -(1100809, 11, 'Candeias do Jamari', -87.9070000, -63.7005000), -(1100908, 11, 'Castanheiras', -11.4253000, -61.9482000), -(1100924, 11, 'Chupinguaia', -12.5611000, -60.8877000), -(1100940, 11, 'Cujubim', -93.6065000, -62.5846000), -(1101005, 11, 'Governador Jorge Teixeira', -10.6100000, -62.7371000), -(1101104, 11, 'Itapuã do Oeste', -91.9687000, -63.1809000), -(1101203, 11, 'Ministro Andreazza', -11.1960000, -61.5174000), -(1101302, 11, 'Mirante da Serra', -11.0290000, -62.6696000), -(1101401, 11, 'Monte Negro', -10.2458000, -63.2900000), -(1101435, 11, 'Nova União', -10.9068000, -62.5564000), -(1101450, 11, 'Parecis', -12.1754000, -61.6032000), -(1101468, 11, 'Pimenteiras do Oeste', -13.4823000, -61.0471000), -(1101476, 11, 'Primavera de Rondônia', -11.8295000, -61.3153000), -(1101484, 11, "São Felipe D'Oeste", -11.9023000, -61.5026000), -(1101492, 11, 'São Francisco do Guaporé', -12.0520000, -63.5680000), -(1101500, 11, 'Seringueiras', -11.8055000, -63.0182000), -(1101559, 11, 'Teixeirópolis', -10.9056000, -62.2420000), -(1101609, 11, 'Theobroma', -10.2483000, -62.3538000), -(1101708, 11, 'Urupá', -11.1261000, -62.3639000), -(1101757, 11, 'Vale do Anari', -98.6215000, -62.1876000), -(1101807, 11, 'Vale do Paraíso', -10.4465000, -62.1352000), -(1200013, 12, 'Acrelândia', -98.2581000, -66.8972000), -(1200054, 12, 'Assis Brasil', -10.9298000, -69.5738000), -(1200104, 12, 'Brasiléia', -10.9950000, -68.7497000), -(1200138, 12, 'Bujari', -98.1528000, -67.9550000), -(1200179, 12, 'Capixaba', -10.5660000, -67.6860000), -(1200203, 12, 'Cruzeiro do Sul', -76.2762000, -72.6756000), -(1200252, 12, 'Epitaciolândia', -11.0188000, -68.7341000), -(1200302, 12, 'Feijó', -81.7054000, -70.3510000), -(1200328, 12, 'Jordão', -94.3091000, -71.8974000), -(1200336, 12, 'Mâncio Lima', -76.1657000, -72.8997000), -(1200344, 12, 'Manoel Urbano', -88.3291000, -69.2679000), -(1200351, 12, 'Marechal Thaumaturgo', -89.3898000, -72.7997000), -(1200385, 12, 'Plácido de Castro', -10.2806000, -67.1371000), -(1200393, 12, 'Porto Walter', -82.6323000, -72.7537000), -(1200401, 12, 'Rio Branco', -99.7499000, -67.8243000), -(1200427, 12, 'Rodrigues Alves', -77.3864000, -72.6610000), -(1200435, 12, 'Santa Rosa do Purus', -94.4652000, -70.4902000), -(1200450, 12, 'Senador Guiomard', -10.1497000, -67.7362000), -(1200500, 12, 'Sena Madureira', -90.6596000, -68.6571000), -(1200609, 12, 'Tarauacá', -81.5697000, -70.7722000), -(1200708, 12, 'Xapuri', -10.6516000, -68.4969000), -(1200807, 12, 'Porto Acre', -95.8138000, -67.5478000), -(1300029, 13, 'Alvarães', -32.2727000, -64.8007000), -(1300060, 13, 'Amaturá', -33.7455000, -68.2005000), -(1300086, 13, 'Anamã', -35.6697000, -61.3963000), -(1300102, 13, 'Anori', -37.4603000, -61.6575000), -(1300144, 13, 'Apuí', -71.9409000, -59.8960000), -(1300201, 13, 'Atalaia do Norte', -43.7055000, -70.1967000), -(1300300, 13, 'Autazes', -35.8574000, -59.1256000), -(1300409, 13, 'Barcelos', -98.3373000, -62.9311000), -(1300508, 13, 'Barreirinha', -27.9886000, -57.0679000), -(1300607, 13, 'Benjamin Constant', -43.7768000, -70.0342000), -(1300631, 13, 'Beruri', -38.9874000, -61.3616000), -(1300680, 13, 'Boa Vista do Ramos', -29.7409000, -57.5873000), -(1300706, 13, 'Boca do Acre', -87.4232000, -67.3919000), -(1300805, 13, 'Borba', -43.9154000, -59.5874000), -(1300839, 13, 'Caapiranga', -33.1537000, -61.2206000), -(1300904, 13, 'Canutama', -65.2582000, -64.3953000), -(1301001, 13, 'Carauari', -48.8161000, -66.9086000), -(1301100, 13, 'Careiro', -37.6803000, -60.3690000), -(1301159, 13, 'Careiro da Várzea', -33.1400000, -59.5557000), -(1301209, 13, 'Coari', -40.9412000, -63.1441000), -(1301308, 13, 'Codajás', -38.3053000, -62.0658000), -(1301407, 13, 'Eirunepé', -66.5677000, -69.8662000), -(1301506, 13, 'Envira', -74.3789000, -70.0281000), -(1301605, 13, 'Fonte Boa', -25.2342000, -66.0942000), -(1301654, 13, 'Guajará', -75.3797000, -72.5907000), -(1301704, 13, 'Humaitá', -75.1171000, -63.0327000), -(1301803, 13, 'Ipixuna', -70.4791000, -71.6934000), -(1301852, 13, 'Iranduba', -32.7479000, -60.1900000), -(1301902, 13, 'Itacoatiara', -31.3861000, -58.4449000), -(1301951, 13, 'Itamarati', -64.3852000, -68.2437000), -(1302009, 13, 'Itapiranga', -27.4081000, -58.0293000), -(1302108, 13, 'Japurá', -18.8237000, -66.9291000), -(1302207, 13, 'Juruá', -34.8438000, -66.0718000), -(1302306, 13, 'Jutaí', -27.5814000, -66.7595000), -(1302405, 13, 'Lábrea', -7.2641300, -64.7948000), -(1302504, 13, 'Manacapuru', -32.9066000, -60.6216000), -(1302553, 13, 'Manaquiri', -34.4078000, -60.4612000), -(1302603, 13, 'Manaus', -31.1866000, -60.0212000), -(1302702, 13, 'Manicoré', -58.0462000, -61.2895000), -(1302801, 13, 'Maraã', -18.5313000, -65.5730000), -(1302900, 13, 'Maués', -33.9289000, -57.7067000), -(1303007, 13, 'Nhamundá', -22.0793000, -56.7112000), -(1303106, 13, 'Nova Olinda do Norte', -39.0037000, -59.0940000), -(1303205, 13, 'Novo Airão', -26.3637000, -60.9434000), -(1303304, 13, 'Novo Aripuanã', -51.2593000, -60.3732000), -(1303403, 13, 'Parintins', -26.3741000, -56.7290000), -(1303502, 13, 'Pauini', -77.1311000, -66.9920000), -(1303536, 13, 'Presidente Figueiredo', -20.2981000, -60.0234000), -(1303569, 13, 'Rio Preto da Eva', -27.0450000, -59.6858000), -(1303601, 13, 'Santa Isabel do Rio Negro', -0.4108240, -65.0092000), -(1303700, 13, 'Santo Antônio do Içá', -30.9544000, -67.9463000), -(1303809, 13, 'São Gabriel da Cachoeira', -11.9090000, -67.0840000), -(1303908, 13, 'São Paulo de Olivença', -34.7292000, -68.9646000), -(1303957, 13, 'São Sebastião do Uatumã', -25.5915000, -57.8731000), -(1304005, 13, 'Silves', -28.1748000, -58.2480000), -(1304062, 13, 'Tabatinga', -42.4160000, -69.9383000), -(1304104, 13, 'Tapauá', -56.2085000, -63.1808000), -(1304203, 13, 'Tefé', -3.3682200, -64.7193000), -(1304237, 13, 'Tonantins', -28.6582000, -67.7919000), -(1304260, 13, 'Uarini', -29.9609000, -65.1133000), -(1304302, 13, 'Urucará', -25.2936000, -57.7538000), -(1304401, 13, 'Urucurituba', -31.2841000, -58.1496000), -(1400027, 14, 'Amajari', 3.6457100, -61.3692000), -(1400050, 14, 'Alto Alegre', 29.8858000, -61.3072000), -(1400100, 14, 'Boa Vista', 28.2384000, -60.6753000), -(1400159, 14, 'Bonfim', 33.6161000, -59.8333000), -(1400175, 14, 'Cantá', 26.0994000, -60.6058000), -(1400209, 14, 'Caracaraí', 18.2766000, -61.1304000), -(1400233, 14, 'Caroebe', 88.4203000, -59.6959000), -(1400282, 14, 'Iracema', 21.8305000, -61.0415000), -(1400308, 14, 'Mucajaí', 24.3998000, -60.9096000), -(1400407, 14, 'Normandia', 38.8530000, -59.6204000), -(1400456, 14, 'Pacaraima', 44.7990000, -61.1477000), -(1400472, 14, 'Rorainópolis', 93.9956000, -60.4389000), -(1400506, 14, 'São João da Baliza', 95.1659000, -59.9133000), -(1400605, 14, 'São Luiz', 10.1019000, -60.0419000), -(1400704, 14, 'Uiramutã', 46.0314000, -60.1815000), -(1500107, 15, 'Abaetetuba', -17.2183000, -48.8788000), -(1500131, 15, 'Abel Figueiredo', -49.5333000, -48.3933000), -(1500206, 15, 'Acará', -19.5383000, -48.1985000), -(1500305, 15, 'Afuá', -15.4874000, -50.3861000), -(1500347, 15, 'Água Azul do Norte', -67.9053000, -50.4791000), -(1500404, 15, 'Alenquer', -19.4623000, -54.7384000), -(1500503, 15, 'Almeirim', -15.2904000, -52.5788000), -(1500602, 15, 'Altamira', -32.0407000, -52.2100000), -(1500701, 15, 'Anajás', -99.6811000, -49.9354000), -(1500800, 15, 'Ananindeua', -13.6391000, -48.3743000), -(1500859, 15, 'Anapu', -3.4698500, -51.2003000), -(1500909, 15, 'Augusto Corrêa', -10.5109000, -46.6147000), -(1500958, 15, 'Aurora do Pará', -21.4898000, -47.5677000), -(1501006, 15, 'Aveiro', -36.0841000, -55.3199000), -(1501105, 15, 'Bagre', -19.0057000, -50.1987000), -(1501204, 15, 'Baião', -27.9021000, -49.6694000), -(1501253, 15, 'Bannach', -73.4779000, -50.3959000), -(1501303, 15, 'Barcarena', -15.1187000, -48.6195000), -(1501402, 15, 'Belém', -14.5540000, -48.4898000), -(1501451, 15, 'Belterra', -26.3609000, -54.9374000), -(1501501, 15, 'Benevides', -13.6183000, -48.2434000), -(1501576, 15, 'Bom Jesus do Tocantins', -50.4240000, -48.6047000), -(1501600, 15, 'Bonito', -13.6745000, -47.3066000), -(1501709, 15, 'Bragança', -10.6126000, -46.7826000), -(1501725, 15, 'Brasil Novo', -3.2979200, -52.5340000), -(1501758, 15, 'Brejo Grande do Araguaia', -56.9822000, -48.4103000), -(1501782, 15, 'Breu Branco', -37.7191000, -49.5735000), -(1501808, 15, 'Breves', -16.8036000, -50.4791000), -(1501907, 15, 'Bujaru', -15.1762000, -48.0381000), -(1501956, 15, 'Cachoeira do Piriá', -17.5974000, -46.5459000), -(1502004, 15, 'Cachoeira do Arari', -10.1226000, -48.9503000), -(1502103, 15, 'Cametá', -22.4295000, -49.4979000), -(1502152, 15, 'Canaã dos Carajás', -64.9659000, -49.8776000), -(1502202, 15, 'Capanema', -12.0529000, -47.1778000), -(1502301, 15, 'Capitão Poço', -17.4785000, -47.0629000), -(1502400, 15, 'Castanhal', -12.9797000, -47.9167000), -(1502509, 15, 'Chaves', -16.4154000, -49.9870000), -(1502608, 15, 'Colares', -93.6423000, -48.2803000), -(1502707, 15, 'Conceição do Araguaia', -82.6136000, -49.2689000), -(1502756, 15, 'Concórdia do Pará', -19.9238000, -47.9422000), -(1502764, 15, 'Cumaru do Norte', -78.1097000, -50.7698000), -(1502772, 15, 'Curionópolis', -60.9965000, -49.6068000), -(1502806, 15, 'Curralinho', -18.1179000, -49.7952000), -(1502855, 15, 'Curuá', -18.8775000, -55.1168000), -(1502905, 15, 'Curuçá', -73.3214000, -47.8515000), -(1502939, 15, 'Dom Eliseu', -41.9944000, -47.8245000), -(1502954, 15, 'Eldorado do Carajás', -61.0389000, -49.3553000), -(1503002, 15, 'Faro', -21.6805000, -56.7405000), -(1503044, 15, 'Floresta do Araguaia', -75.5335000, -49.7125000), -(1503077, 15, 'Garrafão do Norte', -19.2986000, -47.0505000), -(1503093, 15, 'Goianésia do Pará', -38.4338000, -49.0974000), -(1503101, 15, 'Gurupá', -14.1412000, -51.6338000), -(1503200, 15, 'Igarapé-Açu', -11.2539000, -47.6260000), -(1503309, 15, 'Igarapé-Miri', -19.7533000, -48.9575000), -(1503408, 15, 'Inhangapi', -14.3490000, -47.9114000), -(1503457, 15, 'Ipixuna do Pará', -25.5992000, -47.5059000), -(1503507, 15, 'Irituia', -17.6984000, -47.4460000), -(1503606, 15, 'Itaituba', -42.6670000, -55.9926000), -(1503705, 15, 'Itupiranga', -51.3272000, -49.3358000), -(1503754, 15, 'Jacareacanga', -62.1469000, -57.7544000), -(1503804, 15, 'Jacundá', -44.4617000, -49.1153000), -(1503903, 15, 'Juruti', -21.6347000, -56.0889000), -(1504000, 15, 'Limoeiro do Ajuru', -18.9850000, -49.3903000), -(1504059, 15, 'Mãe do Rio', -20.5683000, -47.5601000), -(1504109, 15, 'Magalhães Barata', -80.3391000, -47.6014000), -(1504208, 15, 'Marabá', -53.8075000, -49.1327000), -(1504307, 15, 'Maracanã', -77.8899000, -47.4520000), -(1504406, 15, 'Marapanim', -71.4702000, -47.7034000), -(1504422, 15, 'Marituba', -13.6002000, -48.3421000), -(1504455, 15, 'Medicilândia', -34.4637000, -52.8875000), -(1504505, 15, 'Melgaço', -18.0320000, -50.7149000), -(1504604, 15, 'Mocajuba', -25.8310000, -49.5042000), -(1504703, 15, 'Moju', -18.8993000, -48.7668000), -(1504752, 15, 'Mojuí dos Campos', -26.8220000, -54.6425000), -(1504802, 15, 'Monte Alegre', -19.9768000, -54.0724000), -(1504901, 15, 'Muaná', -15.3936000, -49.2224000), -(1504950, 15, 'Nova Esperança do Piriá', -22.6693000, -46.9731000), -(1504976, 15, 'Nova Ipixuna', -49.1622000, -49.0822000), -(1505007, 15, 'Nova Timboteua', -12.0874000, -47.3921000), -(1505031, 15, 'Novo Progresso', -71.4347000, -55.3786000), -(1505064, 15, 'Novo Repartimento', -4.2474900, -49.9499000), -(1505106, 15, 'Óbidos', -19.0107000, -55.5208000), -(1505205, 15, 'Oeiras do Pará', -20.0358000, -49.8628000), -(1505304, 15, 'Oriximiná', -17.5989000, -55.8579000), -(1505403, 15, 'Ourém', -15.4168000, -47.1126000), -(1505437, 15, 'Ourilândia do Norte', -67.5290000, -51.0858000), -(1505486, 15, 'Pacajá', -38.3542000, -50.6399000), -(1505494, 15, 'Palestina do Pará', -57.4027000, -48.3181000), -(1505502, 15, 'Paragominas', -30.0212000, -47.3527000), -(1505536, 15, 'Parauapebas', -6.1855800, -50.5547400), -(1505551, 15, "Pau d'Arco", -15.9772000, -46.9268000), -(1505601, 15, 'Peixe-Boi', -11.9382000, -47.3240000), -(1505635, 15, 'Piçarra', -64.3778000, -48.8716000), -(1505650, 15, 'Placas', -38.6813000, -54.2124000), -(1505700, 15, 'Ponta de Pedras', -13.9587000, -48.8661000), -(1505809, 15, 'Portel', -19.3639000, -50.8194000), -(1505908, 15, 'Porto de Moz', -17.4691000, -52.2361000), -(1506005, 15, 'Prainha', -17.9800000, -53.4779000), -(1506104, 15, 'Primavera', -94.5439000, -47.1253000), -(1506112, 15, 'Quatipuru', -89.9604000, -47.0134000), -(1506138, 15, 'Redenção', -80.2529000, -50.0317000), -(1506161, 15, 'Rio Maria', -73.1236000, -50.0379000), -(1506187, 15, 'Rondon do Pará', -47.7793000, -48.0670000), -(1506195, 15, 'Rurópolis', -41.0028000, -54.9092000), -(1506203, 15, 'Salinópolis', -0.6136100, -47.3561100), -(1506302, 15, 'Salvaterra', -75.8444000, -48.5139000), -(1506351, 15, 'Santa Bárbara do Pará', -11.9219000, -48.2380000), -(1506401, 15, 'Santa Cruz do Arari', -66.1019000, -49.1771000), -(1506500, 15, 'Santa Izabel do Pará', -12.9686000, -48.1606000), -(1506559, 15, 'Santa Luzia do Pará', -15.2147000, -46.9008000), -(1506583, 15, 'Santa Maria das Barreiras', -88.5784000, -49.7215000), -(1506609, 15, 'Santa Maria do Pará', -13.5392000, -47.5712000), -(1506708, 15, 'Santana do Araguaia', -93.2810000, -50.3500000), -(1506807, 15, 'Santarém', -24.3849000, -54.6996000), -(1506906, 15, 'Santarém Novo', -93.0970000, -47.3855000), -(1507003, 15, 'Santo Antônio do Tauá', -11.5220000, -48.1314000), -(1507102, 15, 'São Caetano de Odivelas', -74.7293000, -48.0246000), -(1507151, 15, 'São Domingos do Araguaia', -55.3732000, -48.7366000), -(1507201, 15, 'São Domingos do Capim', -16.8768000, -47.7665000), -(1507300, 15, 'São Félix do Xingu', -66.4254000, -51.9904000), -(1507409, 15, 'São Francisco do Pará', -11.6963000, -47.7917000), -(1507458, 15, 'São Geraldo do Araguaia', -63.9471000, -48.5592000), -(1507466, 15, 'São João da Ponta', -85.7885000, -47.9180000), -(1507474, 15, 'São João de Pirabas', -78.0222000, -47.1810000), -(1507508, 15, 'São João do Araguaia', -53.6334000, -48.7926000), -(1507607, 15, 'São Miguel do Guamá', -16.1307000, -47.4784000), -(1507706, 15, 'São Sebastião da Boa Vista', -17.1597000, -49.5249000), -(1507755, 15, 'Sapucaia', -6.9401800, -49.6834000), -(1507805, 15, 'Senador José Porfírio', -43.1242000, -51.5764000), -(1507904, 15, 'Soure', -73.0320000, -48.5015000), -(1507953, 15, 'Tailândia', -29.4584000, -48.9489000), -(1507961, 15, 'Terra Alta', -10.2963000, -47.9004000), -(1507979, 15, 'Terra Santa', -21.0443000, -56.4877000), -(1508001, 15, 'Tomé-Açu', -24.1302000, -48.1415000), -(1508035, 15, 'Tracuateua', -10.7653000, -46.9031000), -(1508050, 15, 'Trairão', -45.7347000, -55.9429000), -(1508084, 15, 'Tucumã', -67.4687000, -51.1626000), -(1508100, 15, 'Tucuruí', -37.6570000, -49.6773000), -(1508126, 15, 'Ulianópolis', -37.5007000, -47.4892000), -(1508159, 15, 'Uruará', -37.1519000, -53.7396000), -(1508209, 15, 'Vigia', -86.1194000, -48.1386000), -(1508308, 15, 'Viseu', -11.9124000, -46.1399000), -(1508357, 15, 'Vitória do Xingu', -28.7922000, -52.0088000), -(1508407, 15, 'Xinguara', -70.9830000, -49.9437000), -(1600055, 16, 'Serra do Navio', 90.1357000, -52.0036000), -(1600105, 16, 'Amapá', 20.5267000, -50.7957000), -(1600154, 16, 'Pedra Branca do Amapari', 77.7424000, -51.9503000), -(1600204, 16, 'Calçoene', 25.0475000, -50.9512000), -(1600212, 16, 'Cutias', 97.0761000, -50.8005000), -(1600238, 16, 'Ferreira Gomes', 85.7256000, -51.1795000), -(1600253, 16, 'Itaubal', 60.2185000, -50.6996000), -(1600279, 16, 'Laranjal do Jari', -80.4911000, -52.4530000), -(1600303, 16, 'Macapá', 34.9340000, -51.0694000), -(1600402, 16, 'Mazagão', -11.3360000, -51.2891000), -(1600501, 16, 'Oiapoque', 38.4074000, -51.8331000), -(1600535, 16, 'Porto Grande', 71.2430000, -51.4155000), -(1600550, 16, 'Pracuúba', 17.4543000, -50.7892000), -(1600600, 16, 'Santana', -45.4340000, -51.1729000), -(1600709, 16, 'Tartarugalzinho', 15.0652000, -50.9087000), -(1600808, 16, 'Vitória do Jari', -93.8000000, -52.4240000), -(1700251, 17, 'Abreulândia', -96.2101000, -49.1518000), -(1700301, 17, 'Aguiarnópolis', -65.5409000, -47.4702000), -(1700350, 17, 'Aliança do Tocantins', -11.3056000, -48.9361000), -(1700400, 17, 'Almas', -11.5706000, -47.1792000), -(1700707, 17, 'Alvorada', -12.4785000, -49.1249000), -(1701002, 17, 'Ananás', -63.6437000, -48.0735000), -(1701051, 17, 'Angico', -63.9179000, -47.8611000), -(1701101, 17, 'Aparecida do Rio Negro', -99.4139000, -47.9638000), -(1701309, 17, 'Aragominas', -71.6005000, -48.5291000), -(1701903, 17, 'Araguacema', -88.0755000, -49.5569000), -(1702000, 17, 'Araguaçu', -12.9289000, -49.8231000), -(1702109, 17, 'Araguaína', -71.9238000, -48.2044000), -(1702158, 17, 'Araguanã', -65.8225000, -48.6395000), -(1702208, 17, 'Araguatins', -56.4659000, -48.1232000), -(1702307, 17, 'Arapoema', -76.5463000, -49.0637000), -(1702406, 17, 'Arraias', -12.9287000, -46.9359000), -(1702554, 17, 'Augustinópolis', -54.6863000, -47.8863000), -(1702703, 17, 'Aurora do Tocantins', -12.7105000, -46.4076000), -(1702901, 17, 'Axixá do Tocantins', -56.1275000, -47.7701000), -(1703008, 17, 'Babaçulândia', -72.0923000, -47.7613000), -(1703057, 17, 'Bandeirantes do Tocantins', -77.5612000, -48.5836000), -(1703073, 17, 'Barra do Ouro', -76.9593000, -47.6776000), -(1703107, 17, 'Barrolândia', -98.3404000, -48.7252000), -(1703206, 17, 'Bernardo Sayão', -78.7481000, -48.8893000), -(1703305, 17, 'Bom Jesus do Tocantins', -89.6306000, -48.1650000), -(1703602, 17, 'Brasilândia do Tocantins', -83.8918000, -48.4822000), -(1703701, 17, 'Brejinho de Nazaré', -11.0058000, -48.5683000), -(1703800, 17, 'Buriti do Tocantins', -53.1448000, -48.2271000), -(1703826, 17, 'Cachoeirinha', -61.1560000, -47.9234000), -(1703842, 17, 'Campos Lindos', -79.8956000, -46.8645000), -(1703867, 17, 'Cariri do Tocantins', -11.8881000, -49.1609000), -(1703883, 17, 'Carmolândia', -70.3262000, -48.3978000), -(1703891, 17, 'Carrasco Bonito', -53.1415000, -48.0314000), -(1703909, 17, 'Caseara', -92.7612000, -49.9521000), -(1704105, 17, 'Centenário', -89.6103000, -47.3304000), -(1704600, 17, 'Chapada de Areia', -10.1419000, -49.1403000), -(1705102, 17, 'Chapada da Natividade', -11.6175000, -47.7486000), -(1705508, 17, 'Colinas do Tocantins', -80.5764000, -48.4757000), -(1705557, 17, 'Combinado', -12.7917000, -46.5388000), -(1705607, 17, 'Conceição do Tocantins', -12.2209000, -47.2951000), -(1706001, 17, 'Couto Magalhães', -82.8411000, -49.2473000), -(1706100, 17, 'Cristalândia', -10.5985000, -49.1942000), -(1706258, 17, 'Crixás do Tocantins', -11.0994000, -48.9152000), -(1706506, 17, 'Darcinópolis', -67.1591000, -47.7597000), -(1707009, 17, 'Dianópolis', -11.6240000, -46.8198000), -(1707108, 17, 'Divinópolis do Tocantins', -98.0018000, -49.2169000), -(1707207, 17, 'Dois Irmãos do Tocantins', -92.5534000, -49.0638000), -(1707306, 17, 'Dueré', -11.3416000, -49.2716000), -(1707405, 17, 'Esperantina', -53.6593000, -48.5378000), -(1707553, 17, 'Fátima', -10.7603000, -48.9076000), -(1707652, 17, 'Figueirópolis', -12.1312000, -49.1748000), -(1707702, 17, 'Filadélfia', -73.3501000, -47.4954000), -(1708205, 17, 'Formoso do Araguaia', -11.7976000, -49.5316000), -(1708254, 17, 'Fortaleza do Tabocão', -90.5611000, -48.5206000), -(1708304, 17, 'Goianorte', -87.7413000, -48.9313000), -(1709005, 17, 'Goiatins', -77.1478000, -47.3252000), -(1709302, 17, 'Guaraí', -8.8354300, -48.5114300), -(1709500, 17, 'Gurupi', -11.7279000, -49.0680000), -(1709807, 17, 'Ipueiras', -11.2329000, -48.4600000), -(1710508, 17, 'Itacajá', -83.9293000, -47.7726000), -(1710706, 17, 'Itaguatins', -57.7267000, -47.4864000), -(1710904, 17, 'Itapiratins', -83.7982000, -48.1072000), -(1711100, 17, 'Itaporã do Tocantins', -85.7172000, -48.6895000), -(1711506, 17, 'Jaú do Tocantins', -12.6509000, -48.5890000), -(1711803, 17, 'Juarina', -81.1951000, -49.0643000), -(1711902, 17, 'Lagoa da Confusão', -10.7906000, -49.6199000), -(1711951, 17, 'Lagoa do Tocantins', -10.3680000, -47.5380000), -(1712009, 17, 'Lajeado', -97.4996000, -48.3565000), -(1712157, 17, 'Lavandeira', -12.7847000, -46.5099000), -(1712405, 17, 'Lizarda', -95.9002000, -46.6738000), -(1712454, 17, 'Luzinópolis', -61.7794000, -47.8582000), -(1712504, 17, 'Marianópolis do Tocantins', -97.9377000, -49.6553000), -(1712702, 17, 'Mateiros', -10.5464000, -46.4168000), -(1712801, 17, 'Maurilândia do Tocantins', -59.5169000, -47.5125000), -(1713205, 17, 'Miracema do Tocantins', -95.6556000, -48.3930000), -(1713304, 17, 'Miranorte', -95.2907000, -48.5922000), -(1713601, 17, 'Monte do Carmo', -10.7611000, -48.1114000), -(1713700, 17, 'Monte Santo do Tocantins', -10.0075000, -48.9941000), -(1713809, 17, 'Palmeiras do Tocantins', -66.1658000, -47.5464000), -(1713957, 17, 'Muricilândia', -71.4669000, -48.6091000), -(1714203, 17, 'Natividade', -11.7034000, -47.7223000), -(1714302, 17, 'Nazaré', -63.7496000, -47.6643000), -(1714880, 17, 'Nova Olinda', -76.3171000, -48.4252000), -(1715002, 17, 'Nova Rosalândia', -10.5651000, -48.9125000), -(1715101, 17, 'Novo Acordo', -99.7063000, -47.6785000), -(1715150, 17, 'Novo Alegre', -12.9217000, -46.5713000), -(1715259, 17, 'Novo Jardim', -11.8260000, -46.6325000), -(1715507, 17, 'Oliveira de Fátima', -10.7070000, -48.9086000), -(1715705, 17, 'Palmeirante', -78.4786000, -47.9242000), -(1715754, 17, 'Palmeirópolis', -13.0447000, -48.4026000), -(1716109, 17, 'Paraíso do Tocantins', -10.1750000, -48.8823000), -(1716208, 17, 'Paranã', -12.6167000, -47.8734000), -(1716307, 17, "Pau D'Arco", -75.3919000, -49.3670000), -(1716505, 17, 'Pedro Afonso', -89.7034000, -48.1729000), -(1716604, 17, 'Peixe', -12.0254000, -48.5395000), -(1716653, 17, 'Pequizeiro', -85.9320000, -48.9327000), -(1716703, 17, 'Colméia', -87.2463000, -48.7638000), -(1717008, 17, 'Pindorama do Tocantins', -11.1311000, -47.5726000), -(1717206, 17, 'Piraquê', -67.7302000, -48.2958000), -(1717503, 17, 'Pium', -10.4420000, -49.1876000), -(1717800, 17, 'Ponte Alta do Bom Jesus', -12.0853000, -46.4825000), -(1717909, 17, 'Ponte Alta do Tocantins', -10.7481000, -47.5276000), -(1718006, 17, 'Porto Alegre do Tocantins', -11.6180000, -47.0621000), -(1718204, 17, 'Porto Nacional', -10.7027000, -48.4080000), -(1718303, 17, 'Praia Norte', -53.9281000, -47.8111000), -(1718402, 17, 'Presidente Kennedy', -85.4060000, -48.5062000), -(1718451, 17, 'Pugmil', -10.4240000, -48.8957000), -(1718501, 17, 'Recursolândia', -8.6685200, -47.0733300), -(1718550, 17, 'Riachinho', -64.4005000, -48.1371000), -(1718659, 17, 'Rio da Conceição', -11.3949000, -46.8847000), -(1718709, 17, 'Rio dos Bois', -93.4425000, -48.5245000), -(1718758, 17, 'Rio Sono', -93.5002000, -47.8880000), -(1718808, 17, 'Sampaio', -53.5423000, -47.8782000), -(1718840, 17, 'Sandolândia', -12.5380000, -49.9242000), -(1718865, 17, 'Santa Fé do Araguaia', -71.5803000, -48.7165000), -(1718881, 17, 'Santa Maria do Tocantins', -88.0460000, -47.7887000), -(1718899, 17, 'Santa Rita do Tocantins', -10.8617000, -48.9161000), -(1718907, 17, 'Santa Rosa do Tocantins', -11.4474000, -48.1216000), -(1719004, 17, 'Santa Tereza do Tocantins', -10.2746000, -47.8033000), -(1720002, 17, 'Santa Terezinha do Tocantins', -64.4438000, -47.6684000), -(1720101, 17, 'São Bento do Tocantins', -60.2580000, -47.9012000), -(1720150, 17, 'São Félix do Tocantins', -10.1615000, -46.6618000), -(1720200, 17, 'São Miguel do Tocantins', -55.6305000, -47.5743000), -(1720259, 17, 'São Salvador do Tocantins', -12.7458000, -48.2352000), -(1720309, 17, 'São Sebastião do Tocantins', -52.6131000, -48.2021000), -(1720499, 17, 'São Valério', -11.9743000, -48.2353000), -(1720655, 17, 'Silvanópolis', -11.1471000, -48.1694000), -(1720804, 17, 'Sítio Novo do Tocantins', -56.0120000, -47.6381000), -(1720853, 17, 'Sucupira', -11.9930000, -48.9685000), -(1720903, 17, 'Taguatinga', -12.4026000, -46.4370000), -(1720937, 17, 'Taipas do Tocantins', -12.1873000, -46.9797000), -(1720978, 17, 'Talismã', -12.7949000, -49.0896000), -(1721000, 17, 'Palmas', -10.2400000, -48.3558000), -(1721109, 17, 'Tocantínia', -95.6320000, -48.3741000), -(1721208, 17, 'Tocantinópolis', -63.2447000, -47.4224000), -(1721257, 17, 'Tupirama', -89.7168000, -48.1883000), -(1721307, 17, 'Tupiratins', -8.3996300, -48.1299600), -(1722081, 17, 'Wanderlândia', -68.5274000, -47.9601000), -(1722107, 17, 'Xambioá', -64.1410000, -48.5320000), -(2100055, 21, 'Açailândia', -49.4714000, -47.5004000), -(2100105, 21, 'Afonso Cunha', -41.3631000, -43.3275000), -(2100154, 21, 'Água Doce do Maranhão', -28.4048000, -42.1189000), -(2100204, 21, 'Alcântara', -23.9574000, -44.4062000), -(2100303, 21, 'Aldeias Altas', -46.2621000, -43.4689000), -(2100402, 21, 'Altamira do Maranhão', -41.6598000, -45.4706000), -(2100436, 21, 'Alto Alegre do Maranhão', -42.1300000, -44.4460000), -(2100477, 21, 'Alto Alegre do Pindaré', -36.6689000, -45.8421000), -(2100501, 21, 'Alto Parnaíba', -91.0273000, -45.9303000), -(2100550, 21, 'Amapá do Maranhão', -16.7524000, -46.0024000), -(2100600, 21, 'Amarante do Maranhão', -55.6913000, -46.7473000), -(2100709, 21, 'Anajatuba', -32.6269000, -44.6126000), -(2100808, 21, 'Anapurus', -36.7577000, -43.1014000), -(2100832, 21, 'Apicum-Açu', -14.5862000, -45.0864000), -(2100873, 21, 'Araguanã', -29.4644000, -45.6589000), -(2100907, 21, 'Araioses', -28.9091000, -41.9050000), -(2100956, 21, 'Arame', -48.8347000, -46.0032000), -(2101004, 21, 'Arari', -34.5214000, -44.7665000), -(2101103, 21, 'Axixá', -28.3939000, -44.0620000), -(2101202, 21, 'Bacabal', -42.2447000, -44.7832000), -(2101251, 21, 'Bacabeira', -29.6452000, -44.3164000), -(2101301, 21, 'Bacuri', -16.9650000, -45.1328000), -(2101350, 21, 'Bacurituba', -27.1000000, -44.7329000), -(2101400, 21, 'Balsas', -75.3214000, -46.0372000), -(2101509, 21, 'Barão de Grajaú', -67.4463000, -43.0261000), -(2101608, 21, 'Barra do Corda', -54.9682000, -45.2485000), -(2101707, 21, 'Barreirinhas', -27.5863000, -42.8232000), -(2101731, 21, 'Belágua', -31.5485000, -43.5122000), -(2101772, 21, 'Bela Vista do Maranhão', -37.2618000, -45.3075000), -(2101806, 21, 'Benedito Leite', -72.1037000, -44.5577000), -(2101905, 21, 'Bequimão', -24.4162000, -44.7842000), -(2101939, 21, 'Bernardo do Mearim', -46.2666000, -44.7608000), -(2101970, 21, 'Boa Vista do Gurupi', -17.7614000, -46.3002000), -(2102002, 21, 'Bom Jardim', -35.4129000, -45.6060000), -(2102036, 21, 'Bom Jesus das Selvas', -44.7638000, -46.8641000), -(2102077, 21, 'Bom Lugar', -43.7311000, -45.0326000), -(2102101, 21, 'Brejo', -36.7796000, -42.7527000), -(2102150, 21, 'Brejo de Areia', -43.3400000, -45.5810000), -(2102200, 21, 'Buriti', -39.4169000, -42.9179000), -(2102309, 21, 'Buriti Bravo', -58.3239000, -43.8353000), -(2102325, 21, 'Buriticupu', -43.2375000, -46.4409000), -(2102358, 21, 'Buritirana', -55.9823000, -47.0131000), -(2102374, 21, 'Cachoeira Grande', -29.3074000, -44.0528000), -(2102408, 21, 'Cajapió', -28.7326000, -44.6741000), -(2102507, 21, 'Cajari', -33.2742000, -45.0145000), -(2102556, 21, 'Campestre do Maranhão', -61.7075000, -47.3625000), -(2102606, 21, 'Cândido Mendes', -14.3265000, -45.7161000), -(2102705, 21, 'Cantanhede', -36.3757000, -44.3830000), -(2102754, 21, 'Capinzal do Norte', -47.2360000, -44.3280000), -(2102804, 21, 'Carolina', -73.3584000, -47.4634000), -(2102903, 21, 'Carutapera', -11.9696000, -46.0085000), -(2103000, 21, 'Caxias', -48.6505000, -43.3617000), -(2103109, 21, 'Cedral', -20.0027000, -44.5281000), -(2103125, 21, 'Central do Maranhão', -21.9831000, -44.8254000), -(2103158, 21, 'Centro do Guilherme', -24.4891000, -46.0345000), -(2103174, 21, 'Centro Novo do Maranhão', -21.2696000, -46.1228000), -(2103208, 21, 'Chapadinha', -37.3875000, -43.3538000), -(2103257, 21, 'Cidelândia', -51.7465000, -47.7781000), -(2103307, 21, 'Codó', -44.5562000, -43.8924000), -(2103406, 21, 'Coelho Neto', -42.5245000, -43.0108000), -(2103505, 21, 'Colinas', -60.3199000, -44.2543000), -(2103554, 21, 'Conceição do Lago-Açu', -38.5142000, -44.8895000), -(2103604, 21, 'Coroatá', -41.3442000, -44.1244000), -(2103703, 21, 'Cururupu', -18.1475000, -44.8644000), -(2103752, 21, 'Davinópolis', -55.4637000, -47.4217000), -(2103802, 21, 'Dom Pedro', -50.3518000, -44.4409000), -(2103901, 21, 'Duque Bacelar', -41.5002000, -42.9477000), -(2104008, 21, 'Esperantinópolis', -48.7938000, -44.6926000), -(2104057, 21, 'Estreito', -65.6077000, -47.4431000), -(2104073, 21, 'Feira Nova do Maranhão', -69.6508000, -46.6786000), -(2104081, 21, 'Fernando Falcão', -61.6207000, -44.8979000), -(2104099, 21, 'Formosa da Serra Negra', -64.4017000, -46.1916000), -(2104107, 21, 'Fortaleza dos Nogueiras', -69.5983000, -46.1749000), -(2104206, 21, 'Fortuna', -57.2792000, -44.1565000), -(2104305, 21, 'Godofredo Viana', -14.0259000, -45.7795000), -(2104404, 21, 'Gonçalves Dias', -51.4750000, -44.3013000), -(2104503, 21, 'Governador Archer', -50.2078000, -44.2754000), -(2104552, 21, 'Governador Edison Lobão', -57.4973000, -47.3646000), -(2104602, 21, 'Governador Eugênio Barros', -53.1897000, -44.2469000), -(2104628, 21, 'Governador Luiz Rocha', -54.7835000, -44.0774000), -(2104651, 21, 'Governador Newton Bello', -34.3245000, -45.6619000), -(2104677, 21, 'Governador Nunes Freire', -21.2899000, -45.8777000), -(2104701, 21, 'Graça Aranha', -54.0547000, -44.3358000), -(2104800, 21, 'Grajaú', -58.1367000, -46.1462000), -(2104909, 21, 'Guimarães', -21.2755000, -44.6020000), -(2105005, 21, 'Humberto de Campos', -25.9828000, -43.4649000), -(2105104, 21, 'Icatu', -27.7206000, -44.0501000), -(2105153, 21, 'Igarapé do Meio', -36.5771000, -45.2114000), -(2105203, 21, 'Igarapé Grande', -46.6250000, -44.8558000), -(2105302, 21, 'Imperatriz', -55.1847000, -47.4777000), -(2105351, 21, 'Itaipava do Grajaú', -51.4252000, -45.7877000), -(2105401, 21, 'Itapecuru Mirim', -34.0202000, -44.3508000), -(2105427, 21, 'Itinga do Maranhão', -44.5293000, -47.5235000), -(2105450, 21, 'Jatobá', -58.2282000, -44.2153000), -(2105476, 21, 'Jenipapo dos Vieiras', -53.6237000, -45.6356000), -(2105500, 21, 'João Lisboa', -54.4363000, -47.4064000), -(2105609, 21, 'Joselândia', -49.8611000, -44.6958000), -(2105658, 21, 'Junco do Maranhão', -18.3888000, -46.0900000), -(2105708, 21, 'Lago da Pedra', -45.6974000, -45.1319000), -(2105807, 21, 'Lago do Junco', -46.0900000, -45.0490000), -(2105906, 21, 'Lago Verde', -39.4661000, -44.8260000), -(2105922, 21, 'Lagoa do Mato', -60.5023000, -43.5333000), -(2105948, 21, 'Lago dos Rodrigues', -46.1173000, -44.9798000), -(2105963, 21, 'Lagoa Grande do Maranhão', -49.8893000, -45.3816000), -(2105989, 21, 'Lajeado Novo', -61.8539000, -47.0293000), -(2106003, 21, 'Lima Campos', -45.1837000, -44.4646000), -(2106102, 21, 'Loreto', -70.8111000, -45.1451000), -(2106201, 21, 'Luís Domingues', -12.7492000, -45.8670000), -(2106300, 21, 'Magalhães de Almeida', -33.9232000, -42.2117000), -(2106326, 21, 'Maracaçumé', -20.4918000, -45.9587000), -(2106359, 21, 'Marajá do Sena', -46.2806000, -45.4531000), -(2106375, 21, 'Maranhãozinho', -22.4078000, -45.8507000), -(2106409, 21, 'Mata Roma', -36.2035000, -43.1112000), -(2106508, 21, 'Matinha', -30.9849000, -45.0350000), -(2106607, 21, 'Matões', -55.1359000, -43.2018000), -(2106631, 21, 'Matões do Norte', -36.2440000, -44.5468000), -(2106672, 21, 'Milagres do Maranhão', -35.7443000, -42.6131000), -(2106706, 21, 'Mirador', -63.7454000, -44.3683000), -(2106755, 21, 'Miranda do Norte', -35.6313000, -44.5814000), -(2106805, 21, 'Mirinzal', -20.7094000, -44.7787000), -(2106904, 21, 'Monção', -34.8125000, -45.2496000), -(2107001, 21, 'Montes Altos', -58.3067000, -47.0673000), -(2107100, 21, 'Morros', -28.5379000, -44.0357000), -(2107209, 21, 'Nina Rodrigues', -34.6788000, -43.9134000), -(2107258, 21, 'Nova Colinas', -71.2263000, -46.2607000), -(2107308, 21, 'Nova Iorque', -67.3047000, -44.0471000), -(2107357, 21, 'Nova Olinda do Maranhão', -28.4227000, -45.6953000), -(2107407, 21, "Olho d'Água das Cunhãs", -41.3417000, -45.1163000), -(2107456, 21, 'Olinda Nova do Maranhão', -29.9295000, -44.9897000), -(2107506, 21, 'Paço do Lumiar', -25.1657000, -44.1019000), -(2107605, 21, 'Palmeirândia', -26.4433000, -44.8933000), -(2107704, 21, 'Paraibano', -64.2640000, -43.9792000), -(2107803, 21, 'Parnarama', -56.7365000, -43.1011000), -(2107902, 21, 'Passagem Franca', -61.7745000, -43.7755000), -(2108009, 21, 'Pastos Bons', -66.0296000, -44.0745000), -(2108058, 21, 'Paulino Neves', -27.2094000, -42.5258000), -(2108108, 21, 'Paulo Ramos', -44.4485000, -45.2398000), -(2108207, 21, 'Pedreiras', -45.6482000, -44.6006000), -(2108256, 21, 'Pedro do Rosário', -29.7272000, -45.3493000), -(2108306, 21, 'Penalva', -32.7674000, -45.1768000), -(2108405, 21, 'Peri Mirim', -25.7676000, -44.8504000), -(2108454, 21, 'Peritoró', -43.7459000, -44.3369000), -(2108504, 21, 'Pindaré-Mirim', -36.0985000, -45.3420000), -(2108603, 21, 'Pinheiro', -25.2224000, -45.0788000), -(2108702, 21, 'Pio XII', -38.9315000, -45.1759000), -(2108801, 21, 'Pirapemas', -37.2041000, -44.2216000), -(2108900, 21, 'Poção de Pedras', -47.4626000, -44.9432000), -(2109007, 21, 'Porto Franco', -63.4149000, -47.3962000), -(2109056, 21, 'Porto Rico do Maranhão', -18.5925000, -44.5842000), -(2109106, 21, 'Presidente Dutra', -52.8980000, -44.4950000), -(2109205, 21, 'Presidente Juscelino', -29.1872000, -44.0715000), -(2109239, 21, 'Presidente Médici', -23.8991000, -45.8200000), -(2109270, 21, 'Presidente Sarney', -25.8799000, -45.3595000), -(2109304, 21, 'Presidente Vargas', -34.0787000, -44.0234000), -(2109403, 21, 'Primeira Cruz', -25.0568000, -43.4232000), -(2109452, 21, 'Raposa', -24.2540000, -44.0973000), -(2109502, 21, 'Riachão', -73.5819000, -46.6225000), -(2109551, 21, 'Ribamar Fiquene', -59.3067000, -47.3888000), -(2109601, 21, 'Rosário', -29.3444000, -44.2531000), -(2109700, 21, 'Sambaíba', -71.3447000, -45.3515000), -(2109759, 21, 'Santa Filomena do Maranhão', -54.9671000, -44.5638000), -(2109809, 21, 'Santa Helena', -22.4426000, -45.2900000), -(2109908, 21, 'Santa Inês', -36.5112000, -45.3774000), -(2110005, 21, 'Santa Luzia', -40.6873000, -45.6900000), -(2110039, 21, 'Santa Luzia do Paruá', -25.1123000, -45.7801000), -(2110104, 21, 'Santa Quitéria do Maranhão', -3.4970160, -42.5624520), -(2110203, 21, 'Santa Rita', -31.4241000, -44.3211000), -(2110237, 21, 'Santana do Maranhão', -31.0900000, -42.4064000), -(2110278, 21, 'Santo Amaro do Maranhão', -25.0068000, -43.2380000), -(2110302, 21, 'Santo Antônio dos Lopes', -48.6613000, -44.3653000), -(2110401, 21, 'São Benedito do Rio Preto', -33.3515000, -43.5287000), -(2110500, 21, 'São Bento', -26.9781000, -44.8289000), -(2110609, 21, 'São Bernardo', -33.7223000, -42.4191000), -(2110658, 21, 'São Domingos do Azeitão', -68.1471000, -44.6509000), -(2110708, 21, 'São Domingos do Maranhão', -55.8095000, -44.3822000), -(2110807, 21, 'São Félix de Balsas', -70.7535000, -44.8092000), -(2110856, 21, 'São Francisco do Brejão', -51.2584000, -47.3890000), -(2110906, 21, 'São Francisco do Maranhão', -62.5159000, -42.8668000), -(2111003, 21, 'São João Batista', -29.5398000, -44.7953000), -(2111029, 21, 'São João do Carú', -35.5030000, -46.2507000), -(2111052, 21, 'São João do Paraíso', -64.5634000, -47.0594000), -(2111078, 21, 'São João do Soter', -51.0821000, -43.8163000), -(2111102, 21, 'São João dos Patos', -64.9340000, -43.7036000), -(2111201, 21, 'São José de Ribamar', -25.4704000, -44.0597000), -(2111250, 21, 'São José dos Basílios', -50.5493000, -44.5809000), -(2111300, 21, 'São Luís', -25.3874000, -44.2825000), -(2111409, 21, 'São Luís Gonzaga do Maranhão', -43.8541000, -44.6654000), -(2111508, 21, 'São Mateus do Maranhão', -40.3736000, -44.4707000), -(2111532, 21, 'São Pedro da Água Branca', -50.8472000, -48.4291000), -(2111573, 21, 'São Pedro dos Crentes', -68.2389000, -46.5319000), -(2111607, 21, 'São Raimundo das Mangabeiras', -70.2183000, -45.4809000), -(2111631, 21, 'São Raimundo do Doca Bezerra', -51.1053000, -45.0696000), -(2111672, 21, 'São Roberto', -50.2310000, -45.0010000), -(2111706, 21, 'São Vicente Ferrer', -28.9487000, -44.8681000), -(2111722, 21, 'Satubinha', -40.4913000, -45.2457000), -(2111748, 21, 'Senador Alexandre Costa', -52.5096000, -44.0533000), -(2111763, 21, 'Senador La Rocque', -54.4610000, -47.2959000), -(2111789, 21, 'Serrano do Maranhão', -18.5229000, -45.1207000), -(2111805, 21, 'Sítio Novo', -58.7601000, -46.7033000), -(2111904, 21, 'Sucupira do Norte', -64.7839000, -44.1919000), -(2111953, 21, 'Sucupira do Riachão', -64.0858000, -43.5455000), -(2112001, 21, 'Tasso Fragoso', -84.6620000, -45.7536000), -(2112100, 21, 'Timbiras', -42.5597000, -43.9320000), -(2112209, 21, 'Timon', -50.9769000, -42.8329000), -(2112233, 21, 'Trizidela do Vale', -45.3800000, -44.6280000), -(2112274, 21, 'Tufilândia', -36.7355000, -45.6238000), -(2112308, 21, 'Tuntum', -52.5476000, -44.6444000), -(2112407, 21, 'Turiaçu', -16.5893000, -45.3798000), -(2112456, 21, 'Turilândia', -22.1638000, -45.3044000), -(2112506, 21, 'Tutóia', -27.6141000, -42.2755000), -(2112605, 21, 'Urbano Santos', -32.0642000, -43.3878000), -(2112704, 21, 'Vargem Grande', -35.3639000, -43.9170000), -(2112803, 21, 'Viana', -32.0451000, -44.9912000), -(2112852, 21, 'Vila Nova dos Martírios', -51.8889000, -48.1336000), -(2112902, 21, 'Vitória do Mearim', -34.5125000, -44.8643000), -(2113009, 21, 'Vitorino Freire', -42.8184000, -45.2505000), -(2114007, 21, 'Zé Doca', -32.7014000, -45.6553000), -(2200053, 22, 'Acauã', -82.1954000, -41.0831000), -(2200103, 22, 'Agricolândia', -57.9676000, -42.6664000), -(2200202, 22, 'Água Branca', -58.8856000, -42.6370000), -(2200251, 22, 'Alagoinha do Piauí', -70.0039000, -40.9282000), -(2200277, 22, 'Alegrete do Piauí', -72.4196000, -40.8566000), -(2200301, 22, 'Alto Longá', -52.5634000, -42.2096000), -(2200400, 22, 'Altos', -50.3888000, -42.4612000), -(2200459, 22, 'Alvorada do Gurguéia', -84.2418000, -43.7770000), -(2200509, 22, 'Amarante', -62.4304000, -42.8433000), -(2200608, 22, 'Angical do Piauí', -60.8786000, -42.7400000), -(2200707, 22, 'Anísio de Abreu', -91.8564000, -43.0494000), -(2200806, 22, 'Antônio Almeida', -72.1276000, -44.1889000), -(2200905, 22, 'Aroazes', -61.1022000, -41.7822000), -(2200954, 22, 'Aroeiras do Itaim', -72.4502000, -41.5325000), -(2201002, 22, 'Arraial', -66.5075000, -42.5418000), -(2201051, 22, 'Assunção do Piauí', -58.6500000, -41.0389000), -(2201101, 22, 'Avelino Lopes', -10.1345000, -43.9563000), -(2201150, 22, 'Baixa Grande do Ribeiro', -78.4903000, -45.2190000), -(2201176, 22, "Barra D'Alcântara", -65.1645000, -42.1146000), -(2201200, 22, 'Barras', -42.4468000, -42.2922000), -(2201309, 22, 'Barreiras do Piauí', -99.2960000, -45.4702000), -(2201408, 22, 'Barro Duro', -58.1673000, -42.5147000), -(2201507, 22, 'Batalha', -40.2230000, -42.0787000), -(2201556, 22, 'Bela Vista do Piauí', -79.8809000, -41.8675000), -(2201572, 22, 'Belém do Piauí', -73.6652000, -40.9688000), -(2201606, 22, 'Beneditinos', -54.5676000, -42.3638000), -(2201705, 22, 'Bertolínia', -76.3338000, -43.9498000), -(2201739, 22, 'Betânia do Piauí', -81.4376000, -40.7989000), -(2201770, 22, 'Boa Hora', -44.1404000, -42.1357000), -(2201804, 22, 'Bocaina', -69.4124000, -41.3168000), -(2201903, 22, 'Bom Jesus', -90.7124000, -44.3590000), -(2201919, 22, 'Bom Princípio do Piauí', -31.9631000, -41.6403000), -(2201929, 22, 'Bonfim do Piauí', -91.6050000, -42.8865000), -(2201945, 22, 'Boqueirão do Piauí', -44.8181000, -42.1212000), -(2201960, 22, 'Brasileira', -41.3370000, -41.7859000), -(2201988, 22, 'Brejo do Piauí', -82.0314000, -42.8229000), -(2202000, 22, 'Buriti dos Lopes', -31.8259000, -41.8695000), -(2202026, 22, 'Buriti dos Montes', -53.0584000, -41.0933000), -(2202059, 22, 'Cabeceiras do Piauí', -44.7730000, -42.3069000), -(2202075, 22, 'Cajazeiras do Piauí', -67.9667000, -42.3903000), -(2202083, 22, 'Cajueiro da Praia', -29.3111000, -41.3408000), -(2202091, 22, 'Caldeirão Grande do Piauí', -73.3140000, -40.6366000), -(2202109, 22, 'Campinas do Piauí', -76.5930000, -41.8775000), -(2202117, 22, 'Campo Alegre do Fidalgo', -83.8236000, -41.8344000), -(2202133, 22, 'Campo Grande do Piauí', -71.2827000, -41.0315000), -(2202174, 22, 'Campo Largo do Piauí', -38.0441000, -42.6400000), -(2202208, 22, 'Campo Maior', -48.2170000, -42.1641000), -(2202251, 22, 'Canavieira', -76.8821000, -43.7233000), -(2202307, 22, 'Canto do Buriti', -81.1110000, -42.9517000), -(2202406, 22, 'Capitão de Campos', -44.5700000, -41.9440000), -(2202455, 22, 'Capitão Gervásio Oliveira', -84.9655000, -41.8140000), -(2202505, 22, 'Caracol', -92.7933000, -43.3290000), -(2202539, 22, 'Caraúbas do Piauí', -34.7525000, -41.8425000), -(2202554, 22, 'Caridade do Piauí', -77.3435000, -40.9848000), -(2202604, 22, 'Castelo do Piauí', -53.1869000, -41.5499000), -(2202653, 22, 'Caxingó', -34.1904000, -41.8955000), -(2202703, 22, 'Cocal', -34.7279000, -41.5546000), -(2202711, 22, 'Cocal de Telha', -45.5710000, -41.9587000), -(2202729, 22, 'Cocal dos Alves', -36.2047000, -41.4402000), -(2202737, 22, 'Coivaras', -50.9224000, -42.2080000), -(2202752, 22, 'Colônia do Gurguéia', -81.8370000, -43.7940000), -(2202778, 22, 'Colônia do Piauí', -72.2651000, -42.1756000), -(2202802, 22, 'Conceição do Canindé', -78.7638000, -41.5942000), -(2202851, 22, 'Coronel José Dias', -88.1397000, -42.5232000), -(2202901, 22, 'Corrente', -10.4333000, -45.1633000), -(2203008, 22, 'Cristalândia do Piauí', -10.6443000, -45.1893000), -(2203107, 22, 'Cristino Castro', -88.2273000, -44.2230000), -(2203206, 22, 'Curimatá', -10.0326000, -44.3002000), -(2203230, 22, 'Currais', -90.1175000, -44.4062000), -(2203255, 22, 'Curralinhos', -56.0825000, -42.8376000), -(2203271, 22, 'Curral Novo do Piauí', -78.3130000, -40.8957000), -(2203305, 22, 'Demerval Lobão', -53.5875000, -42.6776000), -(2203354, 22, 'Dirceu Arcoverde', -93.3939000, -42.4348000), -(2203404, 22, 'Dom Expedito Lopes', -69.5332000, -41.6396000), -(2203420, 22, 'Domingos Mourão', -42.4950000, -41.2683000), -(2203453, 22, 'Dom Inocêncio', -90.0516000, -41.9697000), -(2203503, 22, 'Elesbão Veloso', -61.9947000, -42.1355000), -(2203602, 22, 'Eliseu Martins', -80.9629000, -43.6705000), -(2203701, 22, 'Esperantina', -38.8863000, -42.2324000), -(2203750, 22, 'Fartura do Piauí', -94.8342000, -42.7912000), -(2203800, 22, 'Flores do Piauí', -77.8793000, -42.9180000), -(2203859, 22, 'Floresta do Piauí', -74.6682000, -41.7883000), -(2203909, 22, 'Floriano', -67.7182000, -43.0241000), -(2204006, 22, 'Francinópolis', -63.9334000, -42.2591000), -(2204105, 22, 'Francisco Ayres', -66.2606000, -42.6881000), -(2204154, 22, 'Francisco Macedo', -73.3100000, -40.7880000), -(2204204, 22, 'Francisco Santos', -69.9491000, -41.1288000), -(2204303, 22, 'Fronteiras', -70.8173000, -40.6146000), -(2204352, 22, 'Geminiano', -71.5476000, -41.3409000), -(2204402, 22, 'Gilbués', -98.3001000, -45.3423000), -(2204501, 22, 'Guadalupe', -67.8285000, -43.5594000), -(2204550, 22, 'Guaribas', -93.8647000, -43.6943000), -(2204600, 22, 'Hugo Napoleão', -59.8860000, -42.5598000), -(2204659, 22, 'Ilha Grande', -28.5774000, -41.8186000), -(2204709, 22, 'Inhuma', -66.6500000, -41.7041000), -(2204808, 22, 'Ipiranga do Piauí', -68.2421000, -41.7381000), -(2204907, 22, 'Isaías Coelho', -77.3597000, -41.6735000), -(2205003, 22, 'Itainópolis', -74.4336000, -41.4687000), -(2205102, 22, 'Itaueira', -75.9989000, -43.0249000), -(2205151, 22, 'Jacobina do Piauí', -79.3063000, -41.2075000), -(2205201, 22, 'Jaicós', -73.6229000, -41.1371000), -(2205250, 22, 'Jardim do Mulato', -60.9900000, -42.6300000), -(2205276, 22, 'Jatobá do Piauí', -47.7025000, -41.8170000), -(2205300, 22, 'Jerumenha', -70.9128000, -43.5033000), -(2205359, 22, 'João Costa', -85.0736000, -42.4264000), -(2205409, 22, 'Joaquim Pires', -35.0164000, -42.1865000), -(2205458, 22, 'Joca Marques', -34.8040000, -42.4255000), -(2205508, 22, 'José de Freitas', -47.5146000, -42.5746000), -(2205516, 22, 'Juazeiro do Piauí', -51.7459000, -41.6976000), -(2205524, 22, 'Júlio Borges', -10.3225000, -44.2381000), -(2205532, 22, 'Jurema', -92.1992000, -43.1337000), -(2205540, 22, 'Lagoinha do Piauí', -58.3074000, -42.6223000), -(2205557, 22, 'Lagoa Alegre', -45.1539000, -42.6309000), -(2205565, 22, 'Lagoa do Barro do Piauí', -84.7673000, -41.5342000), -(2205573, 22, 'Lagoa de São Francisco', -43.8505000, -41.5969000), -(2205581, 22, 'Lagoa do Piauí', -54.1864000, -42.6437000), -(2205599, 22, 'Lagoa do Sítio', -65.0766000, -41.5653000), -(2205607, 22, 'Landri Sales', -72.5922000, -43.9364000), -(2205706, 22, 'Luís Correia', -28.8438000, -41.6641000), -(2205805, 22, 'Luzilândia', -34.6830000, -42.3718000), -(2205854, 22, 'Madeiro', -34.8624000, -42.4981000), -(2205904, 22, 'Manoel Emídio', -80.1234000, -43.8755000), -(2205953, 22, 'Marcolândia', -74.4169000, -40.6602000), -(2206001, 22, 'Marcos Parente', -71.1565000, -43.8926000), -(2206050, 22, 'Massapê do Piauí', -74.7469000, -41.1103000), -(2206100, 22, 'Matias Olímpio', -37.1492000, -42.5507000), -(2206209, 22, 'Miguel Alves', -41.6857000, -42.8963000), -(2206308, 22, 'Miguel Leão', -56.8077000, -42.7436000), -(2206357, 22, 'Milton Brandão', -46.8295000, -41.4173000), -(2206407, 22, 'Monsenhor Gil', -55.6200000, -42.6075000), -(2206506, 22, 'Monsenhor Hipólito', -69.9275000, -41.0260000), -(2206605, 22, 'Monte Alegre do Piauí', -97.5364000, -45.3037000), -(2206654, 22, 'Morro Cabeça no Tempo', -97.1891000, -43.9072000), -(2206670, 22, 'Morro do Chapéu do Piauí', -37.3337000, -42.3024000), -(2206696, 22, 'Murici dos Portelas', -33.1900000, -42.0940000), -(2206704, 22, 'Nazaré do Piauí', -69.7023000, -42.6773000), -(2206720, 22, 'Nazária', -53.5128000, -42.8153000), -(2206753, 22, 'Nossa Senhora de Nazaré', -46.3019000, -42.1730000), -(2206803, 22, 'Nossa Senhora dos Remédios', -39.7574000, -42.6184000), -(2206902, 22, 'Novo Oriente do Piauí', -64.4901000, -41.9261000), -(2206951, 22, 'Novo Santo Antônio', -52.8749000, -41.9325000), -(2207009, 22, 'Oeiras', -70.1915000, -42.1283000), -(2207108, 22, "Olho D'Água do Piauí", -58.4125000, -42.5594000), -(2207207, 22, 'Padre Marcos', -73.5101000, -40.8997000), -(2207306, 22, 'Paes Landim', -77.7375000, -42.2474000), -(2207355, 22, 'Pajeú do Piauí', -78.5508000, -42.8248000), -(2207405, 22, 'Palmeira do Piauí', -87.3076000, -44.2466000), -(2207504, 22, 'Palmeirais', -59.7086000, -43.0560000), -(2207553, 22, 'Paquetá', -71.0303000, -41.7000000), -(2207603, 22, 'Parnaguá', -10.2166000, -44.6300000), -(2207702, 22, 'Parnaíba', -29.0585000, -41.7754000), -(2207751, 22, 'Passagem Franca do Piauí', -58.6036000, -42.4436000), -(2207777, 22, 'Patos do Piauí', -76.7231000, -41.2408000), -(2207793, 22, "Pau D'Arco do Piauí", -52.6072000, -42.3908000), -(2207801, 22, 'Paulistana', -81.3436000, -41.1431000), -(2207850, 22, 'Pavussu', -79.6059000, -43.2284000), -(2207900, 22, 'Pedro II', -44.2585000, -41.4482000), -(2207934, 22, 'Pedro Laurentino', -80.6807000, -42.2847000), -(2207959, 22, 'Nova Santa Rita', -80.9707000, -42.0471000), -(2208007, 22, 'Picos', -70.7721000, -41.4670000), -(2208106, 22, 'Pimenteiras', -62.3839000, -41.4113000), -(2208205, 22, 'Pio IX', -68.3002000, -40.6083000), -(2208304, 22, 'Piracuruca', -39.3335000, -41.7088000), -(2208403, 22, 'Piripiri', -42.7157000, -41.7716000), -(2208502, 22, 'Porto', -38.8815000, -42.6998000), -(2208551, 22, 'Porto Alegre do Piauí', -69.6423000, -44.1837000), -(2208601, 22, 'Prata do Piauí', -56.7265000, -42.2046000), -(2208650, 22, 'Queimada Nova', -85.7064000, -41.4106000), -(2208700, 22, 'Redenção do Gurguéia', -94.7937000, -44.5811000), -(2208809, 22, 'Regeneração', -62.3115000, -42.6842000), -(2208858, 22, 'Riacho Frio', -10.1244000, -44.9503000), -(2208874, 22, 'Ribeira do Piauí', -76.9028000, -42.7128000), -(2208908, 22, 'Ribeiro Gonçalves', -75.5651000, -45.2447000), -(2209005, 22, 'Rio Grande do Piauí', -77.8029000, -43.1369000), -(2209104, 22, 'Santa Cruz do Piauí', -71.7850000, -41.7609000), -(2209153, 22, 'Santa Cruz dos Milagres', -58.0581000, -41.9506000), -(2209203, 22, 'Santa Filomena', -9.1122800, -45.9116000), -(2209302, 22, 'Santa Luz', -89.4880000, -44.1296000), -(2209351, 22, 'Santana do Piauí', -69.4696000, -41.5178000), -(2209377, 22, 'Santa Rosa do Piauí', -67.9581000, -42.2814000), -(2209401, 22, 'Santo Antônio de Lisboa', -69.8676000, -41.2252000), -(2209450, 22, 'Santo Antônio dos Milagres', -60.4647000, -42.7123000), -(2209500, 22, 'Santo Inácio do Piauí', -74.2072000, -41.9063000), -(2209559, 22, 'São Braz do Piauí', -90.5797000, -43.0076000), -(2209609, 22, 'São Félix do Piauí', -59.3485000, -42.1172000), -(2209658, 22, 'São Francisco de Assis do Piauí', -82.3599000, -41.6873000), -(2209708, 22, 'São Francisco do Piauí', -72.4630000, -42.5410000), -(2209757, 22, 'São Gonçalo do Gurguéia', -10.0319000, -45.3092000), -(2209807, 22, 'São Gonçalo do Piauí', -59.9393000, -42.7095000), -(2209856, 22, 'São João da Canabrava', -68.1203000, -41.3415000), -(2209872, 22, 'São João da Fronteira', -39.5497000, -41.2569000), -(2209906, 22, 'São João da Serra', -55.1081000, -41.8923000), -(2209955, 22, 'São João da Varjota', -69.4082000, -41.8889000), -(2209971, 22, 'São João do Arraial', -38.1860000, -42.4459000), -(2210003, 22, 'São João do Piauí', -83.5466000, -42.2559000), -(2210052, 22, 'São José do Divino', -38.1411000, -41.8308000), -(2210102, 22, 'São José do Peixe', -74.8554000, -42.5672000), -(2210201, 22, 'São José do Piauí', -68.7194000, -41.4731000), -(2210300, 22, 'São Julião', -70.8391000, -40.8246000), -(2210359, 22, 'São Lourenço do Piauí', -91.6463000, -42.5496000), -(2210375, 22, 'São Luis do Piauí', -68.1936000, -41.3175000), -(2210383, 22, 'São Miguel da Baixa Grande', -58.5646000, -42.1934000), -(2210391, 22, 'São Miguel do Fidalgo', -75.9713000, -42.3676000), -(2210409, 22, 'São Miguel do Tapuio', -54.9729000, -41.3165000), -(2210508, 22, 'São Pedro do Piauí', -59.2078000, -42.7192000), -(2210607, 22, 'São Raimundo Nonato', -90.1241000, -42.6987000), -(2210623, 22, 'Sebastião Barros', -10.8170000, -44.8337000), -(2210631, 22, 'Sebastião Leal', -75.6803000, -44.0600000), -(2210656, 22, 'Sigefredo Pacheco', -49.1665000, -41.7311000), -(2210706, 22, 'Simões', -75.9109000, -40.8137000), -(2210805, 22, 'Simplício Mendes', -78.5294000, -41.9075000), -(2210904, 22, 'Socorro do Piauí', -78.6773000, -42.4922000), -(2210938, 22, 'Sussuapara', -70.3687000, -41.3767000), -(2210953, 22, 'Tamboril do Piauí', -84.0937000, -42.9211000), -(2210979, 22, 'Tanque do Piauí', -65.9787000, -42.2795000), -(2211001, 22, 'Teresina', -50.9194000, -42.8034000), -(2211100, 22, 'União', -45.8571000, -42.8583000), -(2211209, 22, 'Uruçuí', -72.3944000, -44.5577000), -(2211308, 22, 'Valença do Piauí', -64.0301000, -41.7375000), -(2211357, 22, 'Várzea Branca', -92.3800000, -42.9692000), -(2211407, 22, 'Várzea Grande', -65.4899000, -42.2480000), -(2211506, 22, 'Vera Mendes', -75.9748000, -41.4673000), -(2211605, 22, 'Vila Nova do Piauí', -71.3272000, -40.9345000), -(2211704, 22, 'Wall Ferraz', -72.3151000, -41.9050000), -(2300101, 23, 'Abaiara', -73.4588000, -39.0416000), -(2300150, 23, 'Acarape', -42.2083000, -38.7055000), -(2300200, 23, 'Acaraú', -28.8769000, -40.1183000), -(2300309, 23, 'Acopiara', -60.8911000, -39.4480000), -(2300408, 23, 'Aiuaba', -65.7122000, -40.1178000), -(2300507, 23, 'Alcântaras', -35.8537000, -40.5479000), -(2300606, 23, 'Altaneira', -69.9837000, -39.7356000), -(2300705, 23, 'Alto Santo', -55.0894000, -38.2743000), -(2300754, 23, 'Amontada', -33.6017000, -39.8288000), -(2300804, 23, 'Antonina do Norte', -67.6919000, -39.9870000), -(2300903, 23, 'Apuiarés', -39.4506000, -39.4359000), -(2301000, 23, 'Aquiraz', -38.9929000, -38.3896000), -(2301109, 23, 'Aracati', -45.5826000, -37.7679000), -(2301208, 23, 'Aracoiaba', -43.6872000, -38.8125000), -(2301257, 23, 'Ararendá', -47.4567000, -40.8310000), -(2301307, 23, 'Araripe', -72.1319000, -40.1359000), -(2301406, 23, 'Aratuba', -44.1229000, -39.0471000), -(2301505, 23, 'Arneiroz', -63.1650000, -40.1653000), -(2301604, 23, 'Assaré', -68.6690000, -39.8689000), -(2301703, 23, 'Aurora', -69.3349000, -38.9742000), -(2301802, 23, 'Baixio', -67.1945000, -38.7134000), -(2301851, 23, 'Banabuiú', -53.0454000, -38.9132000), -(2301901, 23, 'Barbalha', -72.9820000, -39.3021000), -(2301950, 23, 'Barreira', -42.8921000, -38.6429000), -(2302008, 23, 'Barro', -71.7188000, -38.7741000), -(2302057, 23, 'Barroquinha', -30.2051000, -41.1358000), -(2302107, 23, 'Baturité', -43.2598000, -38.8812000), -(2302206, 23, 'Beberibe', -41.7741000, -38.1271000), -(2302305, 23, 'Bela Cruz', -30.4996000, -40.1671000), -(2302404, 23, 'Boa Viagem', -51.1258000, -39.7337000), -(2302503, 23, 'Brejo Santo', -74.8469000, -38.9799000), -(2302602, 23, 'Camocim', -29.0050000, -40.8544000), -(2302701, 23, 'Campos Sales', -70.6761000, -40.3687000), -(2302800, 23, 'Canindé', -43.5162000, -39.3155000), -(2302909, 23, 'Capistrano', -44.5569000, -38.9048000), -(2303006, 23, 'Caridade', -42.2514000, -39.1912000), -(2303105, 23, 'Cariré', -39.4858000, -40.4760000), -(2303204, 23, 'Caririaçu', -70.2808000, -39.2828000), -(2303303, 23, 'Cariús', -65.2428000, -39.4916000), -(2303402, 23, 'Carnaubal', -41.5985000, -40.9413000), -(2303501, 23, 'Cascavel', -41.2967000, -38.2412000), -(2303600, 23, 'Catarina', -61.2291000, -39.8736000), -(2303659, 23, 'Catunda', -46.4336000, -40.2000000), -(2303709, 23, 'Caucaia', -37.2797000, -38.6619000), -(2303808, 23, 'Cedro', -66.0034000, -39.0609000), -(2303907, 23, 'Chaval', -30.3571000, -41.2435000), -(2303931, 23, 'Choró', -48.3906000, -39.1344000), -(2303956, 23, 'Chorozinho', -42.8873000, -38.4986000), -(2304004, 23, 'Coreaú', -35.4150000, -40.6587000), -(2304103, 23, 'Crateús', -51.6768000, -40.6536000), -(2304202, 23, 'Crato', -72.1530000, -39.4103000), -(2304236, 23, 'Croatá', -44.0481000, -40.9022000), -(2304251, 23, 'Cruz', -29.1813000, -40.1760000), -(2304269, 23, 'Deputado Irapuan Pinheiro', -59.1485000, -39.2570000), -(2304277, 23, 'Ererê', -60.2751000, -38.3461000), -(2304285, 23, 'Eusébio', -38.9250000, -38.4559000), -(2304301, 23, 'Farias Brito', -69.2146000, -39.5651000), -(2304350, 23, 'Forquilha', -37.9945000, -40.2634000), -(2304400, 23, 'Fortaleza', -37.1664000, -38.5423000), -(2304459, 23, 'Fortim', -44.5126000, -37.7981000), -(2304509, 23, 'Frecheirinha', -37.5557000, -40.8180000), -(2304608, 23, 'General Sampaio', -40.4351000, -39.4540000), -(2304657, 23, 'Graça', -40.4422000, -40.7490000), -(2304707, 23, 'Granja', -31.2788000, -40.8372000), -(2304806, 23, 'Granjeiro', -68.8134000, -39.2144000), -(2304905, 23, 'Groaíras', -39.1787000, -40.3852000), -(2304954, 23, 'Guaiúba', -40.4057000, -38.6404000), -(2305001, 23, 'Guaraciaba do Norte', -41.5814000, -40.7476000), -(2305100, 23, 'Guaramiranga', -42.6248000, -38.9320000), -(2305209, 23, 'Hidrolândia', -44.0958000, -40.4056000), -(2305233, 23, 'Horizonte', -41.2090000, -38.4707000), -(2305266, 23, 'Ibaretama', -48.0376000, -38.7501000), -(2305308, 23, 'Ibiapina', -39.2403000, -40.8911000), -(2305332, 23, 'Ibicuitinga', -49.6999000, -38.6362000), -(2305357, 23, 'Icapuí', -47.1206000, -37.3531000), -(2305407, 23, 'Icó', -63.9627000, -38.8554000), -(2305506, 23, 'Iguatu', -63.6281000, -39.2892000), -(2305605, 23, 'Independência', -53.8789000, -40.3085000), -(2305654, 23, 'Ipaporanga', -48.9764000, -40.7537000), -(2305704, 23, 'Ipaumirim', -67.8265000, -38.7179000), -(2305803, 23, 'Ipu', -43.1748000, -40.7059000), -(2305902, 23, 'Ipueiras', -45.3802000, -40.7118000), -(2306009, 23, 'Iracema', -58.1240000, -38.2919000), -(2306108, 23, 'Irauçuba', -37.4737000, -39.7843000), -(2306207, 23, 'Itaiçaba', -46.7146000, -37.8330000), -(2306256, 23, 'Itaitinga', -39.6577000, -38.5298000), -(2306306, 23, 'Itapajé', -36.8314000, -39.5855000), -(2306405, 23, 'Itapipoca', -34.9933000, -39.5836000), -(2306504, 23, 'Itapiúna', -45.5516000, -38.9281000), -(2306553, 23, 'Itarema', -29.2480000, -39.9167000), -(2306603, 23, 'Itatira', -45.2608000, -39.6202000), -(2306702, 23, 'Jaguaretama', -56.0510000, -38.7639000), -(2306801, 23, 'Jaguaribara', -56.7765000, -38.5359000), -(2306900, 23, 'Jaguaribe', -59.0213000, -38.6227000), -(2307007, 23, 'Jaguaruana', -48.3151000, -37.7810000), -(2307106, 23, 'Jardim', -75.7599000, -39.2826000), -(2307205, 23, 'Jati', -76.7970000, -39.0029000), -(2307254, 23, 'Jijoca de Jericoacoara', -27.9331000, -40.5127000), -(2307304, 23, 'Juazeiro do Norte', -71.9621000, -39.3076000), -(2307403, 23, 'Jucás', -65.1523000, -39.5187000), -(2307502, 23, 'Lavras da Mangabeira', -67.4480000, -38.9706000), -(2307601, 23, 'Limoeiro do Norte', -51.4392000, -38.0847000), -(2307635, 23, 'Madalena', -48.4601000, -39.5725000), -(2307650, 23, 'Maracanaú', -38.6699000, -38.6259000), -(2307700, 23, 'Maranguape', -38.9143000, -38.6829000), -(2307809, 23, 'Marco', -31.2850000, -40.1582000), -(2307908, 23, 'Martinópole', -32.2520000, -40.6896000), -(2308005, 23, 'Massapê', -35.2364000, -40.3423000), -(2308104, 23, 'Mauriti', -73.8597000, -38.7708000), -(2308203, 23, 'Meruoca', -35.3974000, -40.4531000), -(2308302, 23, 'Milagres', -72.9749000, -38.9378000), -(2308351, 23, 'Milhã', -56.7252000, -39.1875000), -(2308377, 23, 'Miraíma', -35.6867000, -39.9663000), -(2308401, 23, 'Missão Velha', -72.3522000, -39.1430000), -(2308500, 23, 'Mombaça', -57.3844000, -39.6300000), -(2308609, 23, 'Monsenhor Tabosa', -47.9102000, -40.0646000), -(2308708, 23, 'Morada Nova', -50.9736000, -38.3702000), -(2308807, 23, 'Moraújo', -34.6311000, -40.6776000), -(2308906, 23, 'Morrinhos', -32.3426000, -40.1233000), -(2309003, 23, 'Mucambo', -39.0271000, -40.7452000), -(2309102, 23, 'Mulungu', -43.0294000, -38.9951000), -(2309201, 23, 'Nova Olinda', -70.8415000, -39.6713000), -(2309300, 23, 'Nova Russas', -47.0581000, -40.5621000), -(2309409, 23, 'Novo Oriente', -55.2552000, -40.7713000), -(2309458, 23, 'Ocara', -44.8523000, -38.5933000), -(2309508, 23, 'Orós', -62.5182000, -38.9053000), -(2309607, 23, 'Pacajus', -41.7107000, -38.4650000), -(2309706, 23, 'Pacatuba', -39.7840000, -38.6183000), -(2309805, 23, 'Pacoti', -42.2492000, -38.9220000), -(2309904, 23, 'Pacujá', -39.8327000, -40.6989000), -(2310001, 23, 'Palhano', -47.3672000, -37.9655000), -(2310100, 23, 'Palmácia', -41.3831000, -38.8446000), -(2310209, 23, 'Paracuru', -34.1436000, -39.0300000), -(2310258, 23, 'Paraipaba', -34.3799000, -39.1479000), -(2310308, 23, 'Parambu', -62.0768000, -40.6905000), -(2310407, 23, 'Paramoti', -40.8815000, -39.2417000), -(2310506, 23, 'Pedra Branca', -54.5341000, -39.7078000), -(2310605, 23, 'Penaforte', -78.2163000, -39.0707000), -(2310704, 23, 'Pentecoste', -37.9274000, -39.2692000), -(2310803, 23, 'Pereiro', -60.3576000, -38.4624000), -(2310852, 23, 'Pindoretama', -40.1584000, -38.3061000), -(2310902, 23, 'Piquet Carneiro', -58.0025000, -39.4170000), -(2310951, 23, 'Pires Ferreira', -42.3922000, -40.6442000), -(2311009, 23, 'Poranga', -47.4672000, -40.9205000), -(2311108, 23, 'Porteiras', -75.2265000, -39.1140000), -(2311207, 23, 'Potengi', -70.9154000, -40.0233000), -(2311231, 23, 'Potiretama', -57.1287000, -38.1578000), -(2311264, 23, 'Quiterianópolis', -58.4250000, -40.7002000), -(2311306, 23, 'Quixadá', -49.6630000, -39.0155000), -(2311355, 23, 'Quixelô', -62.4637000, -39.2011000), -(2311405, 23, 'Quixeramobim', -51.9067000, -39.2889000), -(2311504, 23, 'Quixeré', -50.7148000, -37.9802000), -(2311603, 23, 'Redenção', -42.1587000, -38.7277000), -(2311702, 23, 'Reriutaba', -41.4191000, -40.5759000), -(2311801, 23, 'Russas', -49.2673000, -37.9721000), -(2311900, 23, 'Saboeiro', -65.3460000, -39.9017000), -(2311959, 23, 'Salitre', -72.8398000, -40.4500000), -(2312007, 23, 'Santana do Acaraú', -34.6144000, -40.2118000), -(2312106, 23, 'Santana do Cariri', -71.7613000, -39.7302000), -(2312205, 23, 'Santa Quitéria', -43.2608000, -40.1523000), -(2312304, 23, 'São Benedito', -40.4713000, -40.8596000), -(2312403, 23, 'São Gonçalo do Amarante', -36.0515000, -38.9726000), -(2312502, 23, 'São João do Jaguaribe', -52.7516000, -38.2694000), -(2312601, 23, 'São Luís do Curu', -36.6976000, -39.2391000), -(2312700, 23, 'Senador Pompeu', -55.8244000, -39.3704000), -(2312809, 23, 'Senador Sá', -33.5305000, -40.4662000), -(2312908, 23, 'Sobral', -36.8913000, -40.3482000), -(2313005, 23, 'Solonópole', -57.1894000, -39.0107000), -(2313104, 23, 'Tabuleiro do Norte', -52.4353000, -38.1282000), -(2313203, 23, 'Tamboril', -48.3136000, -40.3196000), -(2313252, 23, 'Tarrafas', -66.7838000, -39.7530000), -(2313302, 23, 'Tauá', -59.8585000, -40.2968000), -(2313351, 23, 'Tejuçuoca', -39.8831000, -39.5799000), -(2313401, 23, 'Tianguá', -37.2965000, -40.9923000), -(2313500, 23, 'Trairi', -32.6932000, -39.2681000), -(2313559, 23, 'Tururu', -35.8413000, -39.4297000), -(2313609, 23, 'Ubajara', -38.5448000, -40.9204000), -(2313708, 23, 'Umari', -66.3893000, -38.7008000), -(2313757, 23, 'Umirim', -36.7654000, -39.3465000), -(2313807, 23, 'Uruburetama', -36.2316000, -39.5107000), -(2313906, 23, 'Uruoca', -33.0819000, -40.5628000), -(2313955, 23, 'Varjota', -41.9387000, -40.4741000), -(2314003, 23, 'Várzea Alegre', -67.8264000, -39.2942000), -(2314102, 23, 'Viçosa do Ceará', -35.6670000, -41.0916000), -(2400109, 24, 'Acari', -64.2820000, -36.6347000), -(2400208, 24, 'Açu', -55.8362000, -36.9140000), -(2400307, 24, 'Afonso Bezerra', -54.9229000, -36.5075000), -(2400406, 24, 'Água Nova', -62.0351000, -38.2941000), -(2400505, 24, 'Alexandria', -64.0533000, -38.0142000), -(2400604, 24, 'Almino Afonso', -61.4750000, -37.7636000), -(2400703, 24, 'Alto do Rodrigues', -52.8186000, -36.7500000), -(2400802, 24, 'Angicos', -56.5792000, -36.6094000), -(2400901, 24, 'Antônio Martins', -62.1367000, -37.8834000), -(2401008, 24, 'Apodi', -56.5349000, -37.7946000), -(2401107, 24, 'Areia Branca', -49.5254000, -37.1252000), -(2401206, 24, 'Arês', -61.8831000, -35.1608000), -(2401305, 24, 'Augusto Severo (Campo Grande)', -58.6206000, -37.3135000), -(2401404, 24, 'Baía Formosa', -6.3716100, -35.0033000), -(2401453, 24, 'Baraúna', -50.6977000, -37.6129000), -(2401503, 24, 'Barcelona', -59.4284000, -35.9247000), -(2401602, 24, 'Bento Fernandes', -56.9906000, -35.8130000), -(2401651, 24, 'Bodó', -59.8027000, -36.4167000), -(2401701, 24, 'Bom Jesus', -59.8648000, -35.5792000), -(2401800, 24, 'Brejinho', -61.8566000, -35.3591000), -(2401859, 24, 'Caiçara do Norte', -50.7091000, -36.0717000), -(2401909, 24, 'Caiçara do Rio do Vento', -57.6541000, -35.9938000), -(2402006, 24, 'Caicó', -64.5441000, -37.1067000), -(2402105, 24, 'Campo Redondo', -62.3829000, -36.1888000), -(2402204, 24, 'Canguaretama', -63.7193000, -35.1281000), -(2402303, 24, 'Caraúbas', -57.8387000, -37.5586000), -(2402402, 24, 'Carnaúba dos Dantas', -65.5015000, -36.5868000), -(2402501, 24, 'Carnaubais', -53.4181000, -36.8335000), -(2402600, 24, 'Ceará-Mirim', -56.4323000, -35.4247000), -(2402709, 24, 'Cerro Corá', -60.3503000, -36.3503000), -(2402808, 24, 'Coronel Ezequiel', -63.7480000, -36.2223000), -(2402907, 24, 'Coronel João Pessoa', -62.4974000, -38.4441000), -(2403004, 24, 'Cruzeta', -64.0894000, -36.7782000), -(2403103, 24, 'Currais Novos', -62.5484000, -36.5146000), -(2403202, 24, 'Doutor Severiano', -60.8082000, -38.3794000), -(2403251, 24, 'Parnamirim', -59.1116000, -35.2710000), -(2403301, 24, 'Encanto', -61.0691000, -38.3033000), -(2403400, 24, 'Equador', -69.3835000, -36.7170000), -(2403509, 24, 'Espírito Santo', -63.3563000, -35.3052000), -(2403608, 24, 'Extremoz', -57.0143000, -35.3048000), -(2403707, 24, 'Felipe Guerra', -55.9274000, -37.6875000), -(2403756, 24, 'Fernando Pedroza', -56.9096000, -36.5282000), -(2403806, 24, 'Florânia', -61.2264000, -36.8226000), -(2403905, 24, 'Francisco Dantas', -60.7234000, -38.1212000), -(2404002, 24, 'Frutuoso Gomes', -61.5669000, -37.8375000), -(2404101, 24, 'Galinhos', -50.9090000, -36.2754000), -(2404200, 24, 'Goianinha', -62.6486000, -35.1943000), -(2404309, 24, 'Governador Dix-Sept Rosado', -54.4887000, -37.5183000), -(2404408, 24, 'Grossos', -49.8068000, -37.1621000), -(2404507, 24, 'Guamaré', -51.0619000, -36.3222000), -(2404606, 24, 'Ielmo Marinho', -58.2447000, -35.5500000), -(2404705, 24, 'Ipanguaçu', -54.8984000, -36.8501000), -(2404804, 24, 'Ipueira', -68.0596000, -37.2045000), -(2404853, 24, 'Itajá', -56.3894000, -36.8712000), -(2404903, 24, 'Itaú', -58.3630000, -37.9912000), -(2405009, 24, 'Jaçanã', -64.1856000, -36.2031000), -(2405108, 24, 'Jandaíra', -53.5211000, -36.1278000), -(2405207, 24, 'Janduís', -60.1474000, -37.4048000), -(2405306, 24, 'Januário Cicco (Boa Saúde)', -61.6566000, -35.6219000), -(2405405, 24, 'Japi', -64.6544000, -35.9346000), -(2405504, 24, 'Jardim de Angicos', -56.4999000, -35.9713000), -(2405603, 24, 'Jardim de Piranhas', -63.7665000, -37.3496000), -(2405702, 24, 'Jardim do Seridó', -65.8047000, -36.7736000), -(2405801, 24, 'João Câmara', -55.4094000, -35.8122000), -(2405900, 24, 'João Dias', -62.7215000, -37.7885000), -(2406007, 24, 'José da Penha', -63.1095000, -38.2823000), -(2406106, 24, 'Jucurutu', -60.3060000, -37.0090000), -(2406155, 24, 'Jundiá', -62.6866000, -35.3495000), -(2406205, 24, "Lagoa d'Anta", -63.9493000, -35.5949000), -(2406304, 24, 'Lagoa de Pedras', -61.5082000, -35.4299000), -(2406403, 24, 'Lagoa de Velhos', -60.1190000, -35.8729000), -(2406502, 24, 'Lagoa Nova', -60.9339000, -36.4703000), -(2406601, 24, 'Lagoa Salgada', -61.2295000, -35.4724000), -(2406700, 24, 'Lajes', -56.9322000, -36.2470000), -(2406809, 24, 'Lajes Pintadas', -61.4943000, -36.1171000), -(2406908, 24, 'Lucrécia', -61.0525000, -37.8134000), -(2407005, 24, 'Luís Gomes', -64.0588000, -38.3899000), -(2407104, 24, 'Macaíba', -5.8522900, -35.3552000), -(2407203, 24, 'Macau', -51.0795000, -36.6318000), -(2407252, 24, 'Major Sales', -63.9949000, -38.3240000), -(2407302, 24, 'Marcelino Vieira', -62.8460000, -38.1642000), -(2407401, 24, 'Martins', -60.8279000, -37.9080000), -(2407500, 24, 'Maxaranguape', -55.2181000, -35.2631000), -(2407609, 24, 'Messias Targino', -60.7194000, -37.5158000), -(2407708, 24, 'Montanhas', -64.8522000, -35.2842000), -(2407807, 24, 'Monte Alegre', -60.7063000, -35.3253000), -(2407906, 24, 'Monte das Gameleiras', -64.3698000, -35.7831000), -(2408003, 24, 'Mossoró', -51.8374000, -37.3474000), -(2408102, 24, 'Natal', -57.9357000, -35.1986000), -(2408201, 24, 'Nísia Floresta', -60.9329000, -35.1991000), -(2408300, 24, 'Nova Cruz', -64.7511000, -35.4286000), -(2408409, 24, "Olho-d'Água do Borges", -59.4860000, -37.7047000), -(2408508, 24, 'Ouro Branco', -66.9580000, -36.9428000), -(2408607, 24, 'Paraná', -64.7565000, -38.3057000), -(2408706, 24, 'Paraú', -57.6893000, -37.1032000), -(2408805, 24, 'Parazinho', -52.2276000, -35.8398000), -(2408904, 24, 'Parelhas', -66.8491000, -36.6566000), -(2408953, 24, 'Rio do Fogo', -52.7650000, -35.3794000), -(2409100, 24, 'Passa e Fica', -64.3018000, -35.6442000), -(2409209, 24, 'Passagem', -62.7268000, -35.3700000), -(2409308, 24, 'Patu', -61.0656000, -37.6356000), -(2409332, 24, 'Santa Maria', -58.3802000, -35.6914000), -(2409407, 24, 'Pau dos Ferros', -61.0498000, -38.2077000), -(2409506, 24, 'Pedra Grande', -51.4988000, -35.8760000), -(2409605, 24, 'Pedra Preta', -55.7352000, -36.1084000), -(2409704, 24, 'Pedro Avelino', -55.1610000, -36.3867000), -(2409803, 24, 'Pedro Velho', -64.3560000, -35.2195000), -(2409902, 24, 'Pendências', -52.5640000, -36.7095000), -(2410009, 24, 'Pilões', -62.6364000, -38.0461000), -(2410108, 24, 'Poço Branco', -56.2233000, -35.6635000), -(2410207, 24, 'Portalegre', -60.2064000, -37.9865000), -(2410256, 24, 'Porto do Mangue', -50.5441000, -36.7887000), -(2410306, 24, 'Serra Caiada', -61.0478000, -35.7113000), -(2410405, 24, 'Pureza', -54.6393000, -35.5554000), -(2410504, 24, 'Rafael Fernandes', -61.8987000, -38.2211000), -(2410603, 24, 'Rafael Godeiro', -60.7244000, -37.7160000), -(2410702, 24, 'Riacho da Cruz', -59.2654000, -37.9490000), -(2410801, 24, 'Riacho de Santana', -62.5139000, -38.3116000), -(2410900, 24, 'Riachuelo', -58.2156000, -35.8215000), -(2411007, 24, 'Rodolfo Fernandes', -57.8393000, -38.0579000), -(2411056, 24, 'Tibau', -48.3729000, -37.2554000), -(2411106, 24, 'Ruy Barbosa', -58.8745000, -35.9330000), -(2411205, 24, 'Santa Cruz', -62.2475000, -36.0193000), -(2411403, 24, 'Santana do Matos', -59.4605000, -36.6578000), -(2411429, 24, 'Santana do Seridó', -67.6643000, -36.7312000), -(2411502, 24, 'Santo Antônio', -63.1195000, -35.4739000), -(2411601, 24, 'São Bento do Norte', -50.9259000, -35.9587000), -(2411700, 24, 'São Bento do Trairí', -63.3798000, -36.0863000), -(2411809, 24, 'São Fernando', -63.7975000, -37.1864000), -(2411908, 24, 'São Francisco do Oeste', -59.7472000, -38.1519000), -(2412005, 24, 'São Gonçalo do Amarante', -57.9068000, -35.3257000), -(2412104, 24, 'São João do Sabugi', -67.1387000, -37.2027000), -(2412203, 24, 'São José de Mipibu', -60.7730000, -35.2417000), -(2412302, 24, 'São José do Campestre', -63.1087000, -35.7067000), -(2412401, 24, 'São José do Seridó', -64.4002000, -36.8746000), -(2412500, 24, 'São Miguel', -62.0283000, -38.4947000), -(2412559, 24, 'São Miguel do Gostoso', -51.2302000, -35.6354000), -(2412609, 24, 'São Paulo do Potengi', -58.9940000, -35.7642000), -(2412708, 24, 'São Pedro', -59.0559000, -35.6317000), -(2412807, 24, 'São Rafael', -57.9791000, -36.8778000), -(2412906, 24, 'São Tomé', -59.6404000, -36.0798000), -(2413003, 24, 'São Vicente', -62.1893000, -36.6827000), -(2413102, 24, 'Senador Elói de Souza', -60.3334000, -35.6978000), -(2413201, 24, 'Senador Georgino Avelino', -61.5760000, -35.1299000), -(2413300, 24, 'Serra de São Bento', -64.1762000, -35.7033000), -(2413359, 24, 'Serra do Mel', -51.7725000, -37.0242000), -(2413409, 24, 'Serra Negra do Norte', -66.6031000, -37.3996000), -(2413508, 24, 'Serrinha', -62.8181000, -35.5000000), -(2413557, 24, 'Serrinha dos Pintos', -61.1087000, -37.9548000), -(2413607, 24, 'Severiano Melo', -57.7666000, -37.9570000), -(2413706, 24, 'Sítio Novo', -61.1132000, -35.9090000), -(2413805, 24, 'Taboleiro Grande', -59.1948000, -38.0367000), -(2413904, 24, 'Taipu', -56.3058000, -35.5918000), -(2414001, 24, 'Tangará', -61.9649000, -35.7989000), -(2414100, 24, 'Tenente Ananias', -64.5823000, -38.1820000), -(2414159, 24, 'Tenente Laurentino Cruz', -61.3780000, -36.7135000), -(2414209, 24, 'Tibau do Sul', -61.9176000, -35.0866000), -(2414308, 24, 'Timbaúba dos Batistas', -64.5768000, -37.2745000), -(2414407, 24, 'Touros', -52.0182000, -35.4621000), -(2414456, 24, 'Triunfo Potiguar', -58.5408000, -37.1786000), -(2414506, 24, 'Umarizal', -59.8238000, -37.8180000), -(2414605, 24, 'Upanema', -56.3761000, -37.2635000), -(2414704, 24, 'Várzea', -63.4641000, -35.3732000), -(2414753, 24, 'Venha-Ver', -63.2016000, -38.4896000), -(2414803, 24, 'Vera Cruz', -60.4399000, -35.4280000), -(2414902, 24, 'Viçosa', -59.8253000, -37.9462000), -(2415008, 24, 'Vila Flor', -63.1287000, -35.0670000), -(2500106, 25, 'Água Branca', -75.1144000, -37.6357000), -(2500205, 25, 'Aguiar', -70.9180000, -38.1681000), -(2500304, 25, 'Alagoa Grande', -70.3943000, -35.6206000), -(2500403, 25, 'Alagoa Nova', -70.5377000, -35.7591000), -(2500502, 25, 'Alagoinha', -69.4657000, -35.5332000), -(2500536, 25, 'Alcantil', -77.3668000, -36.0511000), -(2500577, 25, 'Algodão de Jandaíra', -68.9292000, -36.0129000), -(2500601, 25, 'Alhandra', -74.2977000, -34.9057000), -(2500700, 25, 'São João do Rio do Peixe', -67.2195000, -38.4468000), -(2500734, 25, 'Amparo', -75.5502000, -37.0628000), -(2500775, 25, 'Aparecida', -67.8466000, -38.0803000), -(2500809, 25, 'Araçagi', -68.4374000, -35.3737000), -(2500908, 25, 'Arara', -68.2813000, -35.7552000), -(2501005, 25, 'Araruna', -65.4848000, -35.7498000), -(2501104, 25, 'Areia', -6.9639600, -35.6977000), -(2501153, 25, 'Areia de Baraúnas', -71.1702000, -36.9404000), -(2501203, 25, 'Areial', -70.4789000, -35.9313000), -(2501302, 25, 'Aroeiras', -75.4473000, -35.7066000), -(2501351, 25, 'Assunção', -70.7231000, -36.7250000), -(2501401, 25, 'Baía da Traição', -66.9209000, -34.9381000), -(2501500, 25, 'Bananeiras', -67.4775000, -35.6246000), -(2501534, 25, 'Baraúna', -66.3484000, -36.2601000), -(2501575, 25, 'Barra de Santana', -75.1809000, -35.9913000), -(2501609, 25, 'Barra de Santa Rosa', -67.1816000, -36.0671000), -(2501708, 25, 'Barra de São Miguel', -77.4603000, -36.3209000), -(2501807, 25, 'Bayeux', -71.2380000, -34.9293000), -(2501906, 25, 'Belém', -67.4261000, -35.5166000), -(2502003, 25, 'Belém do Brejo do Cruz', -61.8515000, -37.5348000), -(2502052, 25, 'Bernardino Batista', -64.4572000, -38.5521000), -(2502102, 25, 'Boa Ventura', -74.0982000, -38.2113000), -(2502151, 25, 'Boa Vista', -72.6365000, -36.2357000), -(2502201, 25, 'Bom Jesus', -68.1601000, -38.6453000), -(2502300, 25, 'Bom Sucesso', -64.4176000, -37.9234000), -(2502409, 25, 'Bonito de Santa Fé', -73.1341000, -38.5133000), -(2502508, 25, 'Boqueirão', -74.8700000, -36.1309000), -(2502607, 25, 'Igaracy', -71.7184000, -38.1478000), -(2502706, 25, 'Borborema', -68.0199000, -35.6187000), -(2502805, 25, 'Brejo do Cruz', -63.4185000, -37.4943000), -(2502904, 25, 'Brejo dos Santos', -63.7065000, -37.8253000), -(2503001, 25, 'Caaporã', -75.1351000, -34.9055000), -(2503100, 25, 'Cabaceiras', -74.8899000, -36.2870000), -(2503209, 25, 'Cabedelo', -69.8731000, -34.8284000), -(2503308, 25, 'Cachoeira dos Índios', -69.1353000, -38.6760000), -(2503407, 25, 'Cacimba de Areia', -71.2128000, -37.1563000), -(2503506, 25, 'Cacimba de Dentro', -66.3860000, -35.7778000), -(2503555, 25, 'Cacimbas', -72.0721000, -37.0604000), -(2503605, 25, 'Caiçara', -66.2115000, -35.4581000), -(2503704, 25, 'Cajazeiras', -68.8004000, -38.5577000), -(2503753, 25, 'Cajazeirinhas', -69.6016000, -37.8009000), -(2503803, 25, 'Caldas Brandão', -71.0250000, -35.3272000), -(2503902, 25, 'Camalaú', -78.8503000, -36.8242000), -(2504009, 25, 'Campina Grande', -72.2196000, -35.8731000), -(2504033, 25, 'Capim', -69.1624000, -35.1673000), -(2504074, 25, 'Caraúbas', -77.2049000, -36.4920000), -(2504108, 25, 'Carrapateira', -70.3414000, -38.3399000), -(2504157, 25, 'Casserengue', -67.7954000, -35.8179000), -(2504207, 25, 'Catingueira', -71.2008000, -37.6064000), -(2504306, 25, 'Catolé do Rocha', -63.4062000, -37.7470000), -(2504355, 25, 'Caturité', -74.1659000, -36.0306000), -(2504405, 25, 'Conceição', -75.5106000, -38.5014000), -(2504504, 25, 'Condado', -68.9831000, -37.6060000), -(2504603, 25, 'Conde', -7.2597200, -34.9075000), -(2504702, 25, 'Congo', -77.9078000, -36.6581000), -(2504801, 25, 'Coremas', -70.0712000, -37.9346000), -(2504850, 25, 'Coxixola', -76.2365000, -36.6064000), -(2504900, 25, 'Cruz do Espírito Santo', -71.3902000, -35.0857000), -(2505006, 25, 'Cubati', -68.6686000, -36.3619000), -(2505105, 25, 'Cuité', -64.7647000, -36.1515000), -(2505204, 25, 'Cuitegi', -68.9058000, -35.5215000), -(2505238, 25, 'Cuité de Mamanguape', -69.1292000, -35.2502000), -(2505279, 25, 'Curral de Cima', -67.2325000, -35.2639000), -(2505303, 25, 'Curral Velho', -75.3075000, -38.1962000), -(2505352, 25, 'Damião', -66.3161000, -35.9101000), -(2505402, 25, 'Desterro', -72.8700000, -37.0925000), -(2505501, 25, 'Vista Serrana', -67.3030000, -37.5704000), -(2505600, 25, 'Diamante', -74.1738000, -38.2615000), -(2505709, 25, 'Dona Inês', -66.1566000, -35.6205000), -(2505808, 25, 'Duas Estradas', -66.8499000, -35.4180000), -(2505907, 25, 'Emas', -70.9964000, -37.7163000), -(2506004, 25, 'Esperança', -70.2278000, -35.8597000), -(2506103, 25, 'Fagundes', -73.4454000, -35.7931000), -(2506202, 25, 'Frei Martinho', -63.9759000, -36.4526000), -(2506251, 25, 'Gado Bravo', -75.8279000, -35.7899000), -(2506301, 25, 'Guarabira', -68.5064000, -35.4850000), -(2506400, 25, 'Gurinhém', -71.2330000, -35.4222000), -(2506509, 25, 'Gurjão', -72.4833000, -36.4923000), -(2506608, 25, 'Ibiara', -74.7957000, -38.4059000), -(2506707, 25, 'Imaculada', -73.8890000, -37.5079000), -(2506806, 25, 'Ingá', -72.8144000, -35.6050000), -(2506905, 25, 'Itabaiana', -73.3167000, -35.3317000), -(2507002, 25, 'Itaporanga', -73.0202000, -38.1504000), -(2507101, 25, 'Itapororoca', -68.2374000, -35.2406000), -(2507200, 25, 'Itatuba', -73.8115000, -35.6380000), -(2507309, 25, 'Jacaraú', -66.1453000, -35.2890000), -(2507408, 25, 'Jericó', -65.4577000, -37.8036000), -(2507507, 25, 'João Pessoa', -7.1150000, -34.8631000), -(2507606, 25, 'Juarez Távora', -71.7130000, -35.5686000), -(2507705, 25, 'Juazeirinho', -70.6092000, -36.5793000), -(2507804, 25, 'Junco do Seridó', -69.9269000, -36.7166000), -(2507903, 25, 'Juripiranga', -73.6176000, -35.2321000), -(2508000, 25, 'Juru', -75.2983000, -37.8150000), -(2508109, 25, 'Lagoa', -65.8572000, -37.9127000), -(2508208, 25, 'Lagoa de Dentro', -66.7213000, -35.3706000), -(2508307, 25, 'Lagoa Seca', -71.5535000, -35.8491000), -(2508406, 25, 'Lastro', -65.0603000, -38.1742000), -(2508505, 25, 'Livramento', -73.7113000, -36.9491000), -(2508554, 25, 'Logradouro', -66.1191000, -35.4384000), -(2508604, 25, 'Lucena', -69.0258000, -34.8748000), -(2508703, 25, "Mãe d'Água", -72.5201000, -37.4322000), -(2508802, 25, 'Malta', -68.9719000, -37.5221000), -(2508901, 25, 'Mamanguape', -68.3370000, -35.1213000), -(2509008, 25, 'Manaíra', -77.0331000, -38.1523000), -(2509057, 25, 'Marcação', -67.6535000, -35.0087000), -(2509107, 25, 'Mari', -70.5942000, -35.3180000), -(2509156, 25, 'Marizópolis', -68.2748000, -38.3528000), -(2509206, 25, 'Massaranduba', -71.8995000, -35.7848000), -(2509305, 25, 'Mataraca', -6.5967300, -35.0531000), -(2509339, 25, 'Matinhas', -71.2486000, -35.7669000), -(2509370, 25, 'Mato Grosso', -65.4018000, -37.7279000), -(2509396, 25, 'Maturéia', -72.6188000, -37.3510000), -(2509404, 25, 'Mogeiro', -72.8517000, -35.4832000), -(2509503, 25, 'Montadas', -70.8848000, -35.9592000), -(2509602, 25, 'Monte Horebe', -72.0402000, -38.5838000), -(2509701, 25, 'Monteiro', -78.8363000, -37.1184000), -(2509800, 25, 'Mulungu', -70.2525000, -35.4600000), -(2509909, 25, 'Natuba', -76.3514000, -35.5586000), -(2510006, 25, 'Nazarezinho', -69.1140000, -38.3220000), -(2510105, 25, 'Nova Floresta', -64.5056000, -36.2057000), -(2510204, 25, 'Nova Olinda', -74.7232000, -38.0382000), -(2510303, 25, 'Nova Palmeira', -66.7122000, -36.4220000), -(2510402, 25, "Olho d'Água", -72.2118000, -37.7406000), -(2510501, 25, 'Olivedos', -69.8434000, -36.2410000), -(2510600, 25, 'Ouro Velho', -76.1604000, -37.1519000), -(2510659, 25, 'Parari', -73.0975000, -36.6522000), -(2510709, 25, 'Passagem', -71.3467000, -37.0433000), -(2510808, 25, 'Patos', -70.1743000, -37.2747000), -(2510907, 25, 'Paulista', -65.9138000, -37.6185000), -(2511004, 25, 'Pedra Branca', -74.2169000, -38.0689000), -(2511103, 25, 'Pedra Lavrada', -67.4997000, -36.4758000), -(2511202, 25, 'Pedras de Fogo', -73.9107000, -35.1065000), -(2511301, 25, 'Piancó', -71.9282000, -37.9289000), -(2511400, 25, 'Picuí', -65.0845000, -36.3497000), -(2511509, 25, 'Pilar', -72.6403000, -35.2523000), -(2511608, 25, 'Pilões', -68.6827000, -35.6130000), -(2511707, 25, 'Pilõezinhos', -68.4277000, -35.5310000), -(2511806, 25, 'Pirpirituba', -67.7922000, -35.4906000), -(2511905, 25, 'Pitimbu', -74.6640000, -34.8151000), -(2512002, 25, 'Pocinhos', -70.6658000, -36.0668000), -(2512036, 25, 'Poço Dantas', -63.9876000, -38.4909000), -(2512077, 25, 'Poço de José de Moura', -65.6401000, -38.5111000), -(2512101, 25, 'Pombal', -67.6606000, -37.8003000), -(2512200, 25, 'Prata', -76.8826000, -37.0801000), -(2512309, 25, 'Princesa Isabel', -77.3175000, -37.9886000), -(2512408, 25, 'Puxinanã', -71.5479000, -35.9543000), -(2512507, 25, 'Queimadas', -73.5029000, -35.9031000), -(2512606, 25, 'Quixabá', -70.2240000, -37.1458000), -(2512705, 25, 'Remígio', -69.4992000, -35.8011000), -(2512721, 25, 'Pedro Régis', -66.3323000, -35.2966000), -(2512747, 25, 'Riachão', -65.4269000, -35.6610000), -(2512754, 25, 'Riachão do Bacamarte', -72.5347000, -35.6693000), -(2512762, 25, 'Riachão do Poço', -71.4173000, -35.2914000), -(2512788, 25, 'Riacho de Santo Antônio', -76.8023000, -36.1570000), -(2512804, 25, 'Riacho dos Cavalos', -64.4067000, -37.6483000), -(2512903, 25, 'Rio Tinto', -68.0383000, -35.0776000), -(2513000, 25, 'Salgadinho', -71.0098000, -36.8458000), -(2513109, 25, 'Salgado de São Félix', -73.5337000, -35.4305000), -(2513158, 25, 'Santa Cecília', -77.3890000, -35.8764000), -(2513208, 25, 'Santa Cruz', -65.2370000, -38.0617000), -(2513307, 25, 'Santa Helena', -67.1760000, -38.6427000), -(2513356, 25, 'Santa Inês', -76.2100000, -38.5540000), -(2513406, 25, 'Santa Luzia', -68.6092000, -36.9178000), -(2513505, 25, 'Santana de Mangueira', -75.4705000, -38.3236000), -(2513604, 25, 'Santana dos Garrotes', -73.8162000, -37.9819000), -(2513653, 25, 'Joca Claudino', -64.8362000, -38.4764000), -(2513703, 25, 'Santa Rita', -7.1172400, -34.9753000), -(2513802, 25, 'Santa Teresinha', -70.7964000, -37.4435000), -(2513851, 25, 'Santo André', -72.2016000, -36.6213000), -(2513901, 25, 'São Bento', -64.8529000, -37.4488000), -(2513927, 25, 'São Bentinho', -68.8596000, -37.7243000), -(2513943, 25, 'São Domingos do Cariri', -76.3273000, -36.4374000), -(2513968, 25, 'São Domingos', -68.0313000, -37.9488000), -(2513984, 25, 'São Francisco', -66.0773000, -38.0968000), -(2514008, 25, 'São João do Cariri', -73.8168000, -36.5345000), -(2514107, 25, 'São João do Tigre', -80.7703000, -36.8547000), -(2514206, 25, 'São José da Lagoa Tapada', -69.3646000, -38.1622000), -(2514305, 25, 'São José de Caiana', -72.4636000, -38.2989000), -(2514404, 25, 'São José de Espinharas', -68.3974000, -37.3214000), -(2514453, 25, 'São José dos Ramos', -72.5238000, -35.3725000), -(2514503, 25, 'São José de Piranhas', -71.1870000, -38.5020000), -(2514552, 25, 'São José de Princesa', -77.3633000, -38.0894000), -(2514602, 25, 'São José do Bonfim', -71.6070000, -37.3036000), -(2514651, 25, 'São José do Brejo do Cruz', -62.1054000, -37.3601000), -(2514701, 25, 'São José do Sabugi', -67.6295000, -36.7972000), -(2514800, 25, 'São José dos Cordeiros', -73.8775000, -36.8085000), -(2514909, 25, 'São Mamede', -69.2386000, -37.0954000), -(2515005, 25, 'São Miguel de Taipu', -72.4764000, -35.2016000), -(2515104, 25, 'São Sebastião de Lagoa de Roça', -71.1034000, -35.8678000), -(2515203, 25, 'São Sebastião do Umbuzeiro', -81.5289000, -37.0138000), -(2515302, 25, 'Sapé', -70.9359000, -35.2280000), -(2515401, 25, 'São Vicente do Seridó', -68.5426000, -36.4122000), -(2515500, 25, 'Serra Branca', -74.8034000, -36.6660000), -(2515609, 25, 'Serra da Raiz', -66.8527000, -35.4379000), -(2515708, 25, 'Serra Grande', -72.0957000, -38.3647000), -(2515807, 25, 'Serra Redonda', -71.8622000, -35.6842000), -(2515906, 25, 'Serraria', -68.1569000, -35.6282000), -(2515930, 25, 'Sertãozinho', -67.5127000, -35.4372000), -(2515971, 25, 'Sobrado', -71.4429000, -35.2357000), -(2516003, 25, 'Solânea', -67.5161000, -35.6636000), -(2516102, 25, 'Soledade', -70.5829000, -36.3668000), -(2516151, 25, 'Sossêgo', -67.7067000, -36.2538000), -(2516201, 25, 'Sousa', -67.5148000, -38.2311000), -(2516300, 25, 'Sumé', -76.6206000, -36.8840000), -(2516409, 25, 'Tacima', -64.8759000, -35.6367000), -(2516508, 25, 'Taperoá', -72.0629000, -36.8245000), -(2516607, 25, 'Tavares', -76.2697000, -37.8712000), -(2516706, 25, 'Teixeira', -72.2104000, -37.2525000), -(2516755, 25, 'Tenório', -69.3855000, -36.6273000), -(2516805, 25, 'Triunfo', -65.7130000, -38.5986000), -(2516904, 25, 'Uiraúna', -65.1504000, -38.4128000), -(2517001, 25, 'Umbuzeiro', -76.9199000, -35.6582000), -(2517100, 25, 'Várzea', -67.6189000, -36.9913000), -(2517209, 25, 'Vieirópolis', -65.0684000, -38.2567000), -(2517407, 25, 'Zabelê', -80.7901000, -37.1057000), -(2600054, 26, 'Abreu e Lima', -79.0072000, -34.8984000), -(2600104, 26, 'Afogados da Ingazeira', -77.4312000, -37.6310000), -(2600203, 26, 'Afrânio', -85.1136000, -41.0095000), -(2600302, 26, 'Agrestina', -8.4596600, -35.9447000), -(2600401, 26, 'Água Preta', -87.0609000, -35.5263000), -(2600500, 26, 'Águas Belas', -91.1125000, -37.1226000), -(2600609, 26, 'Alagoinha', -84.6650000, -36.7788000), -(2600708, 26, 'Aliança', -76.0398000, -35.2227000), -(2600807, 26, 'Altinho', -84.8482000, -36.0644000), -(2600906, 26, 'Amaraji', -83.7691000, -35.4501000), -(2601003, 26, 'Angelim', -88.8429000, -36.2902000), -(2601052, 26, 'Araçoiaba', -77.8391000, -35.0809000), -(2601102, 26, 'Araripina', -75.7073000, -40.4940000), -(2601201, 26, 'Arcoverde', -84.1519000, -37.0577000), -(2601300, 26, 'Barra de Guabiraba', -84.2075000, -35.6585000), -(2601409, 26, 'Barreiros', -88.1605000, -35.1832000), -(2601508, 26, 'Belém de Maria', -86.2504000, -35.8335000), -(2601607, 26, 'Belém do São Francisco', -87.5046000, -38.9623000), -(2601706, 26, 'Belo Jardim', -83.3130000, -36.4258000), -(2601805, 26, 'Betânia', -82.6787000, -38.0345000), -(2601904, 26, 'Bezerros', -8.2333300, -35.7969400), -(2602001, 26, 'Bodocó', -77.7759000, -39.9338000), -(2602100, 26, 'Bom Conselho', -91.6919000, -36.6857000), -(2602209, 26, 'Bom Jardim', -77.9695000, -35.5784000), -(2602308, 26, 'Bonito', -8.4722200, -35.7297200), -(2602407, 26, 'Brejão', -90.2915000, -36.5660000), -(2602506, 26, 'Brejinho', -73.4694000, -37.2865000), -(2602605, 26, 'Brejo da Madre de Deus', -81.4933000, -36.3741000), -(2602704, 26, 'Buenos Aires', -77.2449000, -35.3182000), -(2602803, 26, 'Buíque', -86.1954000, -37.1606000), -(2602902, 26, 'Cabo de Santo Agostinho', -82.8218000, -35.0253000), -(2603009, 26, 'Cabrobó', -85.0548000, -39.3094000), -(2603108, 26, 'Cachoeirinha', -84.8668000, -36.2402000), -(2603207, 26, 'Caetés', -87.8030000, -36.6268000), -(2603306, 26, 'Calçado', -87.3108000, -36.3366000), -(2603405, 26, 'Calumbi', -79.3551000, -38.1482000), -(2603454, 26, 'Camaragibe', -80.2351000, -34.9782000), -(2603504, 26, 'Camocim de São Félix', -83.5865000, -35.7653000), -(2603603, 26, 'Camutanga', -74.0545000, -35.2664000), -(2603702, 26, 'Canhotinho', -88.7652000, -36.1979000), -(2603801, 26, 'Capoeiras', -87.3423000, -36.6306000), -(2603900, 26, 'Carnaíba', -77.9342000, -37.7946000), -(2603926, 26, 'Carnaubeira da Penha', -83.1799000, -38.7512000), -(2604007, 26, 'Carpina', -78.4566000, -35.2514000), -(2604106, 26, 'Caruaru', -82.8455000, -35.9699000), -(2604155, 26, 'Casinhas', -77.4084000, -35.7206000), -(2604205, 26, 'Catende', -86.7509000, -35.7024000), -(2604304, 26, 'Cedro', -77.1179000, -39.2367000), -(2604403, 26, 'Chã de Alegria', -80.0679000, -35.2040000), -(2604502, 26, 'Chã Grande', -82.3827000, -35.4571000), -(2604601, 26, 'Condado', -75.8787000, -35.0999000), -(2604700, 26, 'Correntes', -91.2117000, -36.3244000), -(2604809, 26, 'Cortês', -84.7443000, -35.5468000), -(2604908, 26, 'Cumaru', -80.0827000, -35.6957000), -(2605004, 26, 'Cupira', -86.2432000, -35.9518000), -(2605103, 26, 'Custódia', -80.8546000, -37.6443000), -(2605152, 26, 'Dormentes', -84.4116000, -40.7662000), -(2605202, 26, 'Escada', -83.5672000, -35.2241000), -(2605301, 26, 'Exu', -75.0364000, -39.7238000), -(2605400, 26, 'Feira Nova', -79.4704000, -35.3801000), -(2605459, 26, 'Fernando de Noronha', -38.3960000, -32.4107000), -(2605509, 26, 'Ferreiros', -74.4666000, -35.2373000), -(2605608, 26, 'Flores', -78.5842000, -37.9715000), -(2605707, 26, 'Floresta', -86.0307000, -38.5687000), -(2605806, 26, 'Frei Miguelinho', -79.3918000, -35.9113000), -(2605905, 26, 'Gameleira', -85.7980000, -35.3846000), -(2606002, 26, 'Garanhuns', -88.8243000, -36.4966000), -(2606101, 26, 'Glória do Goitá', -80.0568000, -35.2904000), -(2606200, 26, 'Goiana', -75.6060000, -34.9959000), -(2606309, 26, 'Granito', -77.0711000, -39.6150000), -(2606408, 26, 'Gravatá', -82.1118000, -35.5675000), -(2606507, 26, 'Iati', -90.4559000, -36.8498000), -(2606606, 26, 'Ibimirim', -85.4026000, -37.7032000), -(2606705, 26, 'Ibirajuba', -85.7633000, -36.1812000), -(2606804, 26, 'Igarassu', -78.2881000, -34.9013000), -(2606903, 26, 'Iguaracy', -78.3222000, -37.5082000), -(2607000, 26, 'Inajá', -89.0206000, -37.8351000), -(2607109, 26, 'Ingazeira', -76.6909000, -37.4576000), -(2607208, 26, 'Ipojuca', -83.9303000, -35.0609000), -(2607307, 26, 'Ipubi', -76.4505000, -40.1476000), -(2607406, 26, 'Itacuruba', -88.2231000, -38.6975000), -(2607505, 26, 'Itaíba', -89.4569000, -37.4173000), -(2607604, 26, 'Ilha de Itamaracá', -77.4766000, -34.8303000), -(2607653, 26, 'Itambé', -74.1403000, -35.0963000), -(2607703, 26, 'Itapetim', -73.7178000, -37.1863000), -(2607752, 26, 'Itapissuma', -77.6798000, -34.8971000), -(2607802, 26, 'Itaquitinga', -76.6373000, -35.1002000), -(2607901, 26, 'Jaboatão dos Guararapes', -81.1298000, -35.0150000), -(2607950, 26, 'Jaqueira', -8.7261800, -35.7942000), -(2608008, 26, 'Jataúba', -79.7668000, -36.4943000), -(2608057, 26, 'Jatobá', -91.7476000, -38.2607000), -(2608107, 26, 'João Alfredo', -78.6565000, -35.5787000), -(2608206, 26, 'Joaquim Nabuco', -86.2281000, -35.5288000), -(2608255, 26, 'Jucati', -87.0195000, -36.4871000), -(2608305, 26, 'Jupi', -87.0904000, -36.4126000), -(2608404, 26, 'Jurema', -87.0714000, -36.1347000), -(2608453, 26, 'Lagoa do Carro', -78.4383000, -35.3108000), -(2608503, 26, 'Lagoa de Itaenga', -79.3005000, -35.2874000), -(2608602, 26, 'Lagoa do Ouro', -91.2567000, -36.4584000), -(2608701, 26, 'Lagoa dos Gatos', -86.6020000, -35.9040000), -(2608750, 26, 'Lagoa Grande', -89.9452000, -40.2767000), -(2608800, 26, 'Lajedo', -86.5791000, -36.3293000), -(2608909, 26, 'Limoeiro', -78.7260000, -35.4402000), -(2609006, 26, 'Macaparana', -75.5564000, -35.4425000), -(2609105, 26, 'Machados', -76.8827000, -35.5114000), -(2609154, 26, 'Manari', -89.6490000, -37.6313000), -(2609204, 26, 'Maraial', -87.9062000, -35.8266000), -(2609303, 26, 'Mirandiba', -81.2113000, -38.7388000), -(2609402, 26, 'Moreno', -81.0871000, -35.0835000), -(2609501, 26, 'Nazaré da Mata', -77.4149000, -35.2193000), -(2609600, 26, 'Olinda', -80.1017000, -34.8545000), -(2609709, 26, 'Orobó', -77.4553000, -35.5956000), -(2609808, 26, 'Orocó', -86.1026000, -39.6026000), -(2609907, 26, 'Ouricuri', -78.7918000, -40.0800000), -(2610004, 26, 'Palmares', -86.8423000, -35.5890000), -(2610103, 26, 'Palmeirina', -90.1090000, -36.3242000), -(2610202, 26, 'Panelas', -86.6121000, -36.0125000), -(2610301, 26, 'Paranatama', -89.1875000, -36.6549000), -(2610400, 26, 'Parnamirim', -80.8729000, -39.5795000), -(2610509, 26, 'Passira', -79.9710000, -35.5813000), -(2610608, 26, 'Paudalho', -79.0287000, -35.1716000), -(2610707, 26, 'Paulista', -7.9408300, -34.8730600), -(2610806, 26, 'Pedra', -84.9641000, -36.9400000), -(2610905, 26, 'Pesqueira', -83.5797000, -36.6978000), -(2611002, 26, 'Petrolândia', -90.6863000, -38.3027000), -(2611101, 26, 'Petrolina', -93.8866000, -40.5027000), -(2611200, 26, 'Poção', -81.8726000, -36.7111000), -(2611309, 26, 'Pombos', -81.3982000, -35.3967000), -(2611408, 26, 'Primavera', -83.2999000, -35.3544000), -(2611507, 26, 'Quipapá', -88.1175000, -36.0137000), -(2611533, 26, 'Quixaba', -77.0734000, -37.8446000), -(2611606, 26, 'Recife', -80.4666000, -34.8771000), -(2611705, 26, 'Riacho das Almas', -81.3742000, -35.8648000), -(2611804, 26, 'Ribeirão', -85.0957000, -35.3698000), -(2611903, 26, 'Rio Formoso', -86.5920000, -35.1532000), -(2612000, 26, 'Sairé', -83.2864000, -35.6967000), -(2612109, 26, 'Salgadinho', -79.2690000, -35.6503000), -(2612208, 26, 'Salgueiro', -80.7373000, -39.1247000), -(2612307, 26, 'Saloá', -89.7230000, -36.6910000), -(2612406, 26, 'Sanharó', -83.6097000, -36.5696000), -(2612455, 26, 'Santa Cruz', -82.4153000, -40.3434000), -(2612471, 26, 'Santa Cruz da Baixa Verde', -78.1339000, -38.1476000), -(2612505, 26, 'Santa Cruz do Capibaribe', -79.4802000, -36.2061000), -(2612554, 26, 'Santa Filomena', -81.6688000, -40.6079000), -(2612604, 26, 'Santa Maria da Boa Vista', -87.9766000, -39.8241000), -(2612703, 26, 'Santa Maria do Cambucá', -78.3676000, -35.8941000), -(2612802, 26, 'Santa Terezinha', -73.7696000, -37.4787000), -(2612901, 26, 'São Benedito do Sul', -88.1660000, -35.9453000), -(2613008, 26, 'São Bento do Una', -85.2637000, -36.4465000), -(2613107, 26, 'São Caetano', -83.3763000, -36.2869000), -(2613206, 26, 'São João', -88.7576000, -36.3653000), -(2613305, 26, 'São Joaquim do Monte', -84.3196000, -35.8035000), -(2613404, 26, 'São José da Coroa Grande', -88.8937000, -35.1515000), -(2613503, 26, 'São José do Belmonte', -78.5723000, -38.7577000), -(2613602, 26, 'São José do Egito', -74.6945000, -37.2740000), -(2613701, 26, 'São Lourenço da Mata', -80.0684000, -35.0124000), -(2613800, 26, 'São Vicente Ferrer', -75.8969000, -35.4808000), -(2613909, 26, 'Serra Talhada', -79.8178000, -38.2890000), -(2614006, 26, 'Serrita', -79.4041000, -39.2951000), -(2614105, 26, 'Sertânia', -80.6847000, -37.2684000), -(2614204, 26, 'Sirinhaém', -85.8778000, -35.1126000), -(2614303, 26, 'Moreilândia', -76.1931000, -39.5460000), -(2614402, 26, 'Solidão', -75.9472000, -37.6445000), -(2614501, 26, 'Surubim', -78.4746000, -35.7481000), -(2614600, 26, 'Tabira', -75.8366000, -37.5377000), -(2614709, 26, 'Tacaimbó', -83.0867000, -36.3000000), -(2614808, 26, 'Tacaratu', -9.0979800, -38.1504000), -(2614857, 26, 'Tamandaré', -87.5665000, -35.1033000), -(2615003, 26, 'Taquaritinga do Norte', -78.9446000, -36.0423000), -(2615102, 26, 'Terezinha', -90.5621000, -36.6272000), -(2615201, 26, 'Terra Nova', -82.2244000, -39.3825000), -(2615300, 26, 'Timbaúba', -75.0484000, -35.3119000), -(2615409, 26, 'Toritama', -80.0955000, -36.0637000), -(2615508, 26, 'Tracunhaém', -78.0228000, -35.2314000), -(2615607, 26, 'Trindade', -77.5900000, -40.2647000), -(2615706, 26, 'Triunfo', -78.3272000, -38.0978000), -(2615805, 26, 'Tupanatinga', -87.4798000, -37.3445000), -(2615904, 26, 'Tuparetama', -76.0030000, -37.3165000), -(2616001, 26, 'Venturosa', -85.7885000, -36.8742000), -(2616100, 26, 'Verdejante', -79.2235000, -38.9701000), -(2616183, 26, 'Vertente do Lério', -77.7084000, -35.8491000), -(2616209, 26, 'Vertentes', -79.0158000, -35.9681000), -(2616308, 26, 'Vicência', -76.5655000, -35.3139000), -(2616407, 26, 'Vitória de Santo Antão', -81.2819000, -35.2976000), -(2616506, 26, 'Xexéu', -88.0460000, -35.6212000), -(2700102, 27, 'Água Branca', -92.6200000, -37.9380000), -(2700201, 27, 'Anadia', -96.8489000, -36.3078000), -(2700300, 27, 'Arapiraca', -97.5487000, -36.6615000), -(2700409, 27, 'Atalaia', -95.1190000, -36.0086000), -(2700508, 27, 'Barra de Santo Antônio', -94.0230000, -35.5101000), -(2700607, 27, 'Barra de São Miguel', -98.3842000, -35.9057000), -(2700706, 27, 'Batalha', -96.7420000, -37.1330000), -(2700805, 27, 'Belém', -95.7047000, -36.4904000), -(2700904, 27, 'Belo Monte', -98.2272000, -37.2770000), -(2701001, 27, 'Boca da Mata', -96.4308000, -36.2125000), -(2701100, 27, 'Branquinha', -92.3342000, -36.0162000), -(2701209, 27, 'Cacimbinhas', -94.0121000, -36.9911000), -(2701308, 27, 'Cajueiro', -93.9940000, -36.1559000), -(2701357, 27, 'Campestre', -88.4723000, -35.5685000), -(2701407, 27, 'Campo Alegre', -97.8451000, -36.3525000), -(2701506, 27, 'Campo Grande', -99.5542000, -36.7926000), -(2701605, 27, 'Canapi', -91.1932000, -37.5967000), -(2701704, 27, 'Capela', -94.1504000, -36.0826000), -(2701803, 27, 'Carneiros', -94.8476000, -37.3773000), -(2701902, 27, 'Chã Preta', -92.5560000, -36.2983000), -(2702009, 27, 'Coité do Nóia', -96.3348000, -36.5845000), -(2702108, 27, 'Colônia Leopoldina', -89.1806000, -35.7214000), -(2702207, 27, 'Coqueiro Seco', -96.3715000, -35.7994000), -(2702306, 27, 'Coruripe', -10.1276000, -36.1717000), -(2702355, 27, 'Craíbas', -96.1780000, -36.7697000), -(2702405, 27, 'Delmiro Gouveia', -93.8534000, -37.9987000), -(2702504, 27, 'Dois Riachos', -93.8465000, -37.0965000), -(2702553, 27, 'Estrela de Alagoas', -93.9089000, -36.7644000), -(2702603, 27, 'Feira Grande', -98.9859000, -36.6815000), -(2702702, 27, 'Feliz Deserto', -10.2935000, -36.3028000), -(2702801, 27, 'Flexeiras', -92.7281000, -35.7139000), -(2702900, 27, 'Girau do Ponciano', -98.8404000, -36.8316000), -(2703007, 27, 'Ibateguara', -89.7823000, -35.9373000), -(2703106, 27, 'Igaci', -95.3768000, -36.6372000), -(2703205, 27, 'Igreja Nova', -10.1235000, -36.6597000), -(2703304, 27, 'Inhapi', -92.2594000, -37.7509000), -(2703403, 27, 'Jacaré dos Homens', -96.3545000, -37.2076000), -(2703502, 27, 'Jacuípe', -88.3951000, -35.4591000), -(2703601, 27, 'Japaratinga', -90.8746000, -35.2634000), -(2703700, 27, 'Jaramataia', -96.6224000, -37.0046000), -(2703759, 27, 'Jequiá da Praia', -10.0133000, -36.0142000), -(2703809, 27, 'Joaquim Gomes', -91.3280000, -35.7474000), -(2703908, 27, 'Jundiá', -89.3297000, -35.5669000), -(2704005, 27, 'Junqueiro', -99.0696000, -36.4803000), -(2704104, 27, 'Lagoa da Canoa', -98.3291000, -36.7413000), -(2704203, 27, 'Limoeiro de Anadia', -97.4098000, -36.5121000), -(2704302, 27, 'Maceió', -9.6658300, -35.7352800), -(2704401, 27, 'Major Isidoro', -95.3009000, -36.9920000), -(2704500, 27, 'Maragogi', -90.0744000, -35.2267000), -(2704609, 27, 'Maravilha', -92.3045000, -37.3524000), -(2704708, 27, 'Marechal Deodoro', -97.0971000, -35.8967000), -(2704807, 27, 'Maribondo', -95.8353000, -36.3045000), -(2704906, 27, 'Mar Vermelho', -94.4739000, -36.3881000), -(2705002, 27, 'Mata Grande', -91.1824000, -37.7323000), -(2705101, 27, 'Matriz de Camaragibe', -91.5437000, -35.5243000), -(2705200, 27, 'Messias', -93.9384000, -35.8392000), -(2705309, 27, 'Minador do Negrão', -93.1236000, -36.8696000), -(2705408, 27, 'Monteirópolis', -96.0357000, -37.2505000), -(2705507, 27, 'Murici', -93.0682000, -35.9428000), -(2705606, 27, 'Novo Lino', -89.4191000, -35.6640000), -(2705705, 27, "Olho d'Água das Flores", -95.3686000, -37.2971000), -(2705804, 27, "Olho d'Água do Casado", -95.0357000, -37.8301000), -(2705903, 27, "Olho d'Água Grande", -10.0572000, -36.8101000), -(2706000, 27, 'Olivença', -95.1954000, -37.1954000), -(2706109, 27, 'Ouro Branco', -91.5884000, -37.3556000), -(2706208, 27, 'Palestina', -96.7493000, -37.3390000), -(2706307, 27, 'Palmeira dos Índios', -94.0568000, -36.6328000), -(2706406, 27, 'Pão de Açúcar', -97.4032000, -37.4403000), -(2706422, 27, 'Pariconha', -92.5634000, -37.9988000), -(2706448, 27, 'Paripueira', -94.6313000, -35.5520000), -(2706505, 27, 'Passo de Camaragibe', -92.4511000, -35.4745000), -(2706604, 27, 'Paulo Jacinto', -93.6792000, -36.3672000), -(2706703, 27, 'Penedo', -10.2874000, -36.5819000), -(2706802, 27, 'Piaçabuçu', -10.4060000, -36.4340000), -(2706901, 27, 'Pilar', -96.0135000, -35.9543000), -(2707008, 27, 'Pindoba', -94.7382000, -36.2918000), -(2707107, 27, 'Piranhas', -96.2400000, -37.7570000), -(2707206, 27, 'Poço das Trincheiras', -93.0742000, -37.2889000), -(2707305, 27, 'Porto Calvo', -90.5195000, -35.3987000), -(2707404, 27, 'Porto de Pedras', -91.6006000, -35.3049000), -(2707503, 27, 'Porto Real do Colégio', -10.1849000, -36.8376000), -(2707602, 27, 'Quebrangulo', -93.2001000, -36.4692000), -(2707701, 27, 'Rio Largo', -94.7783000, -35.8394000), -(2707800, 27, 'Roteiro', -98.3503000, -35.9782000), -(2707909, 27, 'Santa Luzia do Norte', -96.0370000, -35.8232000), -(2708006, 27, 'Santana do Ipanema', -93.6999000, -37.2480000), -(2708105, 27, 'Santana do Mundaú', -91.7141000, -36.2176000), -(2708204, 27, 'São Brás', -10.1141000, -36.8522000), -(2708303, 27, 'São José da Laje', -90.1278000, -36.0515000), -(2708402, 27, 'São José da Tapera', -95.5768000, -37.3831000), -(2708501, 27, 'São Luís do Quitunde', -93.1816000, -35.5606000), -(2708600, 27, 'São Miguel dos Campos', -97.8301000, -36.0971000), -(2708709, 27, 'São Miguel dos Milagres', -92.6493000, -35.3763000), -(2708808, 27, 'São Sebastião', -99.3043000, -36.5590000), -(2708907, 27, 'Satuba', -95.6911000, -35.8227000), -(2708956, 27, 'Senador Rui Palmeira', -94.6986000, -37.4576000), -(2709004, 27, "Tanque d'Arca", -95.3379000, -36.4366000), -(2709103, 27, 'Taquarana', -96.4529000, -36.4928000), -(2709152, 27, 'Teotônio Vilela', -99.1656000, -36.3492000), -(2709202, 27, 'Traipu', -99.6262000, -37.0071000), -(2709301, 27, 'União dos Palmares', -91.5921000, -36.0223000), -(2709400, 27, 'Viçosa', -93.6763000, -36.2431000), -(2800100, 28, 'Amparo de São Francisco', -10.1348000, -36.9350000), -(2800209, 28, 'Aquidabã', -10.2780000, -37.0148000), -(2800308, 28, 'Aracaju', -10.9091000, -37.0677000), -(2800407, 28, 'Arauá', -11.2614000, -37.6201000), -(2800506, 28, 'Areia Branca', -10.7580000, -37.3251000), -(2800605, 28, 'Barra dos Coqueiros', -10.8996000, -37.0323000), -(2800670, 28, 'Boquim', -11.1397000, -37.6195000), -(2800704, 28, 'Brejo Grande', -10.4297000, -36.4611000), -(2801009, 28, 'Campo do Brito', -10.7392000, -37.4954000), -(2801108, 28, 'Canhoba', -10.1365000, -36.9806000), -(2801207, 28, 'Canindé de São Francisco', -96.4882000, -37.7923000), -(2801306, 28, 'Capela', -10.5069000, -37.0628000), -(2801405, 28, 'Carira', -10.3524000, -37.7002000), -(2801504, 28, 'Carmópolis', -10.6449000, -36.9887000), -(2801603, 28, 'Cedro de São João', -10.2534000, -36.8856000), -(2801702, 28, 'Cristinápolis', -11.4668000, -37.7585000), -(2801900, 28, 'Cumbe', -10.3520000, -37.1846000), -(2802007, 28, 'Divina Pastora', -10.6782000, -37.1506000), -(2802106, 28, 'Estância', -11.2659000, -37.4484000), -(2802205, 28, 'Feira Nova', -10.2616000, -37.3147000), -(2802304, 28, 'Frei Paulo', -10.5513000, -37.5279000), -(2802403, 28, 'Gararu', -99.7220000, -37.0869000), -(2802502, 28, 'General Maynard', -10.6835000, -36.9838000), -(2802601, 28, 'Gracho Cardoso', -10.2252000, -37.2006000), -(2802700, 28, 'Ilha das Flores', -10.4425000, -36.5479000), -(2802809, 28, 'Indiaroba', -11.5157000, -37.5150000), -(2802908, 28, 'Itabaiana', -10.6826000, -37.4273000), -(2803005, 28, 'Itabaianinha', -11.2693000, -37.7875000), -(2803104, 28, 'Itabi', -10.1248000, -37.1056000), -(2803203, 28, "Itaporanga d'Ajuda", -10.9900000, -37.3078000), -(2803302, 28, 'Japaratuba', -10.5849000, -36.9418000), -(2803401, 28, 'Japoatã', -10.3477000, -36.8045000), -(2803500, 28, 'Lagarto', -10.9136000, -37.6689000), -(2803609, 28, 'Laranjeiras', -10.7981000, -37.1731000), -(2803708, 28, 'Macambira', -10.6619000, -37.5413000), -(2803807, 28, 'Malhada dos Bois', -10.3418000, -36.9252000), -(2803906, 28, 'Malhador', -10.6649000, -37.3004000), -(2804003, 28, 'Maruim', -10.7308000, -37.0856000), -(2804102, 28, 'Moita Bonita', -10.5769000, -37.3512000), -(2804201, 28, 'Monte Alegre de Sergipe', -10.0256000, -37.5616000), -(2804300, 28, 'Muribeca', -10.4271000, -36.9588000), -(2804409, 28, 'Neópolis', -10.3215000, -36.5850000), -(2804458, 28, 'Nossa Senhora Aparecida', -10.3944000, -37.4517000), -(2804508, 28, 'Nossa Senhora da Glória', -10.2158000, -37.4211000), -(2804607, 28, 'Nossa Senhora das Dores', -10.4854000, -37.1963000), -(2804706, 28, 'Nossa Senhora de Lourdes', -10.0772000, -37.0615000), -(2804805, 28, 'Nossa Senhora do Socorro', -10.8468000, -37.1231000), -(2804904, 28, 'Pacatuba', -10.4538000, -36.6531000), -(2805000, 28, 'Pedra Mole', -10.6134000, -37.6922000), -(2805109, 28, 'Pedrinhas', -11.1902000, -37.6775000), -(2805208, 28, 'Pinhão', -10.5677000, -37.7242000), -(2805307, 28, 'Pirambu', -10.7215000, -36.8544000), -(2805406, 28, 'Poço Redondo', -98.0616000, -37.6833000), -(2805505, 28, 'Poço Verde', -10.7151000, -38.1813000), -(2805604, 28, 'Porto da Folha', -99.1626000, -37.2842000), -(2805703, 28, 'Propriá', -10.2138000, -36.8442000), -(2805802, 28, 'Riachão do Dantas', -11.0729000, -37.7310000), -(2805901, 28, 'Riachuelo', -10.7350000, -37.1966000), -(2806008, 28, 'Ribeirópolis', -10.5357000, -37.4380000), -(2806107, 28, 'Rosário do Catete', -10.6904000, -37.0357000), -(2806206, 28, 'Salgado', -11.0288000, -37.4804000), -(2806305, 28, 'Santa Luzia do Itanhy', -11.3536000, -37.4586000), -(2806404, 28, 'Santana do São Francisco', -10.2922000, -36.6105000), -(2806503, 28, 'Santa Rosa de Lima', -10.6434000, -37.1931000), -(2806602, 28, 'Santo Amaro das Brotas', -10.7892000, -37.0564000), -(2806701, 28, 'São Cristóvão', -11.0084000, -37.2044000), -(2806800, 28, 'São Domingos', -10.7916000, -37.5685000), -(2806909, 28, 'São Francisco', -10.3442000, -36.8869000), -(2807006, 28, 'São Miguel do Aleixo', -10.3847000, -37.3836000), -(2807105, 28, 'Simão Dias', -10.7387000, -37.8097000), -(2807204, 28, 'Siriri', -10.5965000, -37.1131000), -(2807303, 28, 'Telha', -10.2064000, -36.8818000), -(2807402, 28, 'Tobias Barreto', -11.1798000, -37.9995000), -(2807501, 28, 'Tomar do Geru', -11.3694000, -37.8433000), -(2807600, 28, 'Umbaúba', -11.3809000, -37.6623000), -(2900108, 29, 'Abaíra', -13.2488000, -41.6619000), -(2900207, 29, 'Abaré', -87.2073000, -39.1162000), -(2900306, 29, 'Acajutiba', -11.6575000, -38.0197000), -(2900355, 29, 'Adustina', -10.5437000, -38.1113000), -(2900405, 29, 'Água Fria', -11.8618000, -38.7639000), -(2900504, 29, 'Érico Cardoso', -13.4215000, -42.1352000), -(2900603, 29, 'Aiquara', -14.1269000, -39.8937000), -(2900702, 29, 'Alagoinhas', -12.1335000, -38.4208000), -(2900801, 29, 'Alcobaça', -17.5195000, -39.2036000), -(2900900, 29, 'Almadina', -14.7089000, -39.6415000), -(2901007, 29, 'Amargosa', -13.0215000, -39.6020000), -(2901106, 29, 'Amélia Rodrigues', -12.3914000, -38.7563000), -(2901155, 29, 'América Dourada', -11.4429000, -41.4390000), -(2901205, 29, 'Anagé', -14.6151000, -41.1356000), -(2901304, 29, 'Andaraí', -12.8049000, -41.3297000), -(2901353, 29, 'Andorinha', -10.3482000, -39.8391000), -(2901403, 29, 'Angical', -12.0063000, -44.7003000), -(2901502, 29, 'Anguera', -12.1462000, -39.2462000), -(2901601, 29, 'Antas', -10.3856000, -38.3401000), -(2901700, 29, 'Antônio Cardoso', -12.4335000, -39.1176000), -(2901809, 29, 'Antônio Gonçalves', -10.5767000, -40.2785000), -(2901908, 29, 'Aporá', -11.6577000, -38.0814000), -(2901957, 29, 'Apuarema', -13.8542000, -39.7501000), -(2902005, 29, 'Aracatu', -14.4280000, -41.4648000), -(2902054, 29, 'Araças', -12.2200000, -38.2027000), -(2902104, 29, 'Araci', -11.3253000, -38.9584000), -(2902203, 29, 'Aramari', -12.0884000, -38.4969000), -(2902252, 29, 'Arataca', -15.2651000, -39.4190000), -(2902302, 29, 'Aratuípe', -13.0716000, -39.0038000), -(2902401, 29, 'Aurelino Leal', -14.3210000, -39.3290000), -(2902500, 29, 'Baianópolis', -12.3016000, -44.5388000), -(2902609, 29, 'Baixa Grande', -11.9519000, -40.1690000), -(2902658, 29, 'Banzaê', -10.5788000, -38.6212000), -(2902708, 29, 'Barra', -11.0859000, -43.1459000), -(2902807, 29, 'Barra da Estiva', -13.6237000, -41.3347000), -(2902906, 29, 'Barra do Choça', -14.8654000, -40.5791000), -(2903003, 29, 'Barra do Mendes', -11.8100000, -42.0590000), -(2903102, 29, 'Barra do Rocha', -14.2000000, -39.5991000), -(2903201, 29, 'Barreiras', -12.1439000, -44.9968000), -(2903235, 29, 'Barro Alto', -11.7605000, -41.9054000), -(2903276, 29, 'Barrocas', -11.5272000, -39.0776000), -(2903300, 29, 'Barro Preto', -14.7948000, -39.4760000), -(2903409, 29, 'Belmonte', -15.8608000, -38.8758000), -(2903508, 29, 'Belo Campo', -15.0334000, -41.2652000), -(2903607, 29, 'Biritinga', -11.6072000, -38.8051000), -(2903706, 29, 'Boa Nova', -14.3598000, -40.2064000), -(2903805, 29, 'Boa Vista do Tupim', -12.6498000, -40.6064000), -(2903904, 29, 'Bom Jesus da Lapa', -13.2506000, -43.4108000), -(2903953, 29, 'Bom Jesus da Serra', -14.3663000, -40.5126000), -(2904001, 29, 'Boninal', -12.7069000, -41.8286000), -(2904050, 29, 'Bonito', -11.9668000, -41.2647000), -(2904100, 29, 'Boquira', -12.8205000, -42.7324000), -(2904209, 29, 'Botuporã', -13.3772000, -42.5163000), -(2904308, 29, 'Brejões', -13.1039000, -39.7988000), -(2904407, 29, 'Brejolândia', -12.4815000, -43.9679000), -(2904506, 29, 'Brotas de Macaúbas', -11.9915000, -42.6326000), -(2904605, 29, 'Brumado', -14.2021000, -41.6696000), -(2904704, 29, 'Buerarema', -14.9595000, -39.3028000), -(2904753, 29, 'Buritirama', -10.7171000, -43.6302000), -(2904803, 29, 'Caatiba', -14.9699000, -40.4092000), -(2904852, 29, 'Cabaceiras do Paraguaçu', -12.5317000, -39.1902000), -(2904902, 29, 'Cachoeira', -12.5994000, -38.9587000), -(2905008, 29, 'Caculé', -14.5003000, -42.2229000), -(2905107, 29, 'Caém', -11.0677000, -40.4320000), -(2905156, 29, 'Caetanos', -14.3347000, -40.9175000), -(2905206, 29, 'Caetité', -14.0684000, -42.4861000), -(2905305, 29, 'Cafarnaum', -11.6914000, -41.4688000), -(2905404, 29, 'Cairu', -13.4904000, -39.0465000), -(2905503, 29, 'Caldeirão Grande', -11.0208000, -40.2956000), -(2905602, 29, 'Camacan', -15.4142000, -39.4919000), -(2905701, 29, 'Camaçari', -12.6996000, -38.3263000), -(2905800, 29, 'Camamu', -13.9398000, -39.1071000), -(2905909, 29, 'Campo Alegre de Lourdes', -95.2221000, -43.0126000), -(2906006, 29, 'Campo Formoso', -10.5105000, -40.3200000), -(2906105, 29, 'Canápolis', -13.0725000, -44.2010000), -(2906204, 29, 'Canarana', -11.6858000, -41.7677000), -(2906303, 29, 'Canavieiras', -15.6722000, -38.9536000), -(2906402, 29, 'Candeal', -11.8049000, -39.1203000), -(2906501, 29, 'Candeias', -12.6716000, -38.5472000), -(2906600, 29, 'Candiba', -14.4097000, -42.8667000), -(2906709, 29, 'Cândido Sales', -15.4993000, -41.2414000), -(2906808, 29, 'Cansanção', -10.6647000, -39.4944000), -(2906824, 29, 'Canudos', -99.0014000, -39.1471000), -(2906857, 29, 'Capela do Alto Alegre', -11.6658000, -39.8349000), -(2906873, 29, 'Capim Grosso', -11.3797000, -40.0089000), -(2906899, 29, 'Caraíbas', -14.7177000, -41.2603000), -(2906907, 29, 'Caravelas', -17.7268000, -39.2597000), -(2907004, 29, 'Cardeal da Silva', -11.9472000, -37.9469000), -(2907103, 29, 'Carinhanha', -14.2985000, -43.7724000), -(2907202, 29, 'Casa Nova', -91.6408000, -40.9740000), -(2907301, 29, 'Castro Alves', -12.7579000, -39.4248000), -(2907400, 29, 'Catolândia', -12.3100000, -44.8648000), -(2907509, 29, 'Catu', -12.3513000, -38.3791000), -(2907558, 29, 'Caturama', -13.3239000, -42.2904000), -(2907608, 29, 'Central', -11.1376000, -42.1116000), -(2907707, 29, 'Chorrochó', -89.6950000, -39.0979000), -(2907806, 29, 'Cícero Dantas', -10.5897000, -38.3794000), -(2907905, 29, 'Cipó', -11.1032000, -38.5179000), -(2908002, 29, 'Coaraci', -14.6370000, -39.5556000), -(2908101, 29, 'Cocos', -14.1814000, -44.5352000), -(2908200, 29, 'Conceição da Feira', -12.5078000, -38.9978000), -(2908309, 29, 'Conceição do Almeida', -12.7836000, -39.1715000), -(2908408, 29, 'Conceição do Coité', -11.5600000, -39.2808000), -(2908507, 29, 'Conceição do Jacuípe', -12.3268000, -38.7684000), -(2908606, 29, 'Conde', -11.8179000, -37.6131000), -(2908705, 29, 'Condeúba', -14.9022000, -41.9718000), -(2908804, 29, 'Contendas do Sincorá', -13.7537000, -41.0480000), -(2908903, 29, 'Coração de Maria', -12.2333000, -38.7487000), -(2909000, 29, 'Cordeiros', -15.0356000, -41.9308000), -(2909109, 29, 'Coribe', -13.8232000, -44.4586000), -(2909208, 29, 'Coronel João Sá', -10.2847000, -37.9198000), -(2909307, 29, 'Correntina', -13.3477000, -44.6333000), -(2909406, 29, 'Cotegipe', -12.0228000, -44.2566000), -(2909505, 29, 'Cravolândia', -13.3531000, -39.8031000), -(2909604, 29, 'Crisópolis', -11.5059000, -38.1515000), -(2909703, 29, 'Cristópolis', -12.2249000, -44.4214000), -(2909802, 29, 'Cruz das Almas', -12.6675000, -39.1008000), -(2909901, 29, 'Curaçá', -89.8458000, -39.8997000), -(2910008, 29, 'Dário Meira', -14.4229000, -39.9031000), -(2910057, 29, "Dias d'Ávila", -12.6187000, -38.2926000), -(2910107, 29, 'Dom Basílio', -13.7565000, -41.7677000), -(2910206, 29, 'Dom Macedo Costa', -12.9016000, -39.1923000), -(2910305, 29, 'Elísio Medrado', -12.9417000, -39.5191000), -(2910404, 29, 'Encruzilhada', -15.5302000, -40.9124000), -(2910503, 29, 'Entre Rios', -11.9392000, -38.0871000), -(2910602, 29, 'Esplanada', -11.7942000, -37.9432000), -(2910701, 29, 'Euclides da Cunha', -10.5078000, -39.0153000), -(2910727, 29, 'Eunápolis', -16.3715000, -39.5821000), -(2910750, 29, 'Fátima', -10.6160000, -38.2239000), -(2910776, 29, 'Feira da Mata', -14.2044000, -44.2744000), -(2910800, 29, 'Feira de Santana', -12.2664000, -38.9663000), -(2910859, 29, 'Filadélfia', -10.7405000, -40.1437000), -(2910909, 29, 'Firmino Alves', -14.9823000, -39.9269000), -(2911006, 29, 'Floresta Azul', -14.8629000, -39.6579000), -(2911105, 29, 'Formosa do Rio Preto', -11.0328000, -45.1930000), -(2911204, 29, 'Gandu', -13.7441000, -39.4747000), -(2911253, 29, 'Gavião', -11.4688000, -39.7757000), -(2911303, 29, 'Gentio do Ouro', -11.4342000, -42.5077000), -(2911402, 29, 'Glória', -93.4382000, -38.2544000), -(2911501, 29, 'Gongogi', -14.3195000, -39.4690000), -(2911600, 29, 'Governador Mangabeira', -12.5994000, -39.0412000), -(2911659, 29, 'Guajeru', -14.5467000, -41.9381000), -(2911709, 29, 'Guanambi', -14.2231000, -42.7799000), -(2911808, 29, 'Guaratinga', -16.5833000, -39.7847000), -(2911857, 29, 'Heliópolis', -10.6825000, -38.2907000), -(2911907, 29, 'Iaçu', -12.7666000, -40.2056000), -(2912004, 29, 'Ibiassucê', -14.2711000, -42.2570000), -(2912103, 29, 'Ibicaraí', -14.8579000, -39.5914000), -(2912202, 29, 'Ibicoara', -13.4059000, -41.2840000), -(2912301, 29, 'Ibicuí', -14.8450000, -39.9879000), -(2912400, 29, 'Ibipeba', -11.6438000, -42.0195000), -(2912509, 29, 'Ibipitanga', -12.8804000, -42.4856000), -(2912608, 29, 'Ibiquera', -12.6444000, -40.9338000), -(2912707, 29, 'Ibirapitanga', -14.1649000, -39.3787000), -(2912806, 29, 'Ibirapuã', -17.6832000, -40.1129000), -(2912905, 29, 'Ibirataia', -14.0643000, -39.6459000), -(2913002, 29, 'Ibitiara', -12.6502000, -42.2179000), -(2913101, 29, 'Ibititá', -11.5414000, -41.9748000), -(2913200, 29, 'Ibotirama', -12.1779000, -43.2167000), -(2913309, 29, 'Ichu', -11.7431000, -39.1905000), -(2913408, 29, 'Igaporã', -13.7740000, -42.7155000), -(2913457, 29, 'Igrapiúna', -13.8295000, -39.1361000), -(2913507, 29, 'Iguaí', -14.7528000, -40.0894000), -(2913606, 29, 'Ilhéus', -14.7930000, -39.0460000), -(2913705, 29, 'Inhambupe', -11.7810000, -38.3550000), -(2913804, 29, 'Ipecaetá', -12.3028000, -39.3069000), -(2913903, 29, 'Ipiaú', -14.1226000, -39.7353000), -(2914000, 29, 'Ipirá', -12.1561000, -39.7359000), -(2914109, 29, 'Ipupiara', -11.8219000, -42.6179000), -(2914208, 29, 'Irajuba', -13.2563000, -40.0848000), -(2914307, 29, 'Iramaia', -13.2902000, -40.9595000), -(2914406, 29, 'Iraquara', -12.2429000, -41.6155000), -(2914505, 29, 'Irará', -12.0504000, -38.7631000), -(2914604, 29, 'Irecê', -11.3033000, -41.8535000), -(2914653, 29, 'Itabela', -16.5732000, -39.5593000), -(2914703, 29, 'Itaberaba', -12.5242000, -40.3059000), -(2914802, 29, 'Itabuna', -14.7876000, -39.2781000), -(2914901, 29, 'Itacaré', -14.2784000, -38.9959000), -(2915007, 29, 'Itaeté', -12.9831000, -40.9677000), -(2915106, 29, 'Itagi', -14.1615000, -40.0131000), -(2915205, 29, 'Itagibá', -14.2782000, -39.8449000), -(2915304, 29, 'Itagimirim', -16.0819000, -39.6133000), -(2915353, 29, 'Itaguaçu da Bahia', -11.0147000, -42.3997000), -(2915403, 29, 'Itaju do Colônia', -15.1366000, -39.7283000), -(2915502, 29, 'Itajuípe', -14.6788000, -39.3698000), -(2915601, 29, 'Itamaraju', -17.0378000, -39.5386000), -(2915700, 29, 'Itamari', -13.7782000, -39.6830000), -(2915809, 29, 'Itambé', -15.2429000, -40.6300000), -(2915908, 29, 'Itanagra', -12.2614000, -38.0436000), -(2916005, 29, 'Itanhém', -17.1642000, -40.3321000), -(2916104, 29, 'Itaparica', -12.8932000, -38.6800000), -(2916203, 29, 'Itapé', -14.8876000, -39.4239000), -(2916302, 29, 'Itapebi', -15.9551000, -39.5329000), -(2916401, 29, 'Itapetinga', -15.2475000, -40.2482000), -(2916500, 29, 'Itapicuru', -11.3088000, -38.2262000), -(2916609, 29, 'Itapitanga', -14.4139000, -39.5657000), -(2916708, 29, 'Itaquara', -13.4459000, -39.9378000), -(2916807, 29, 'Itarantim', -15.6528000, -40.0650000), -(2916856, 29, 'Itatim', -12.7099000, -39.6952000), -(2916906, 29, 'Itiruçu', -13.5290000, -40.1472000), -(2917003, 29, 'Itiúba', -10.6948000, -39.8446000), -(2917102, 29, 'Itororó', -15.1100000, -40.0684000), -(2917201, 29, 'Ituaçu', -13.8107000, -41.3003000), -(2917300, 29, 'Ituberá', -13.7249000, -39.1481000), -(2917334, 29, 'Iuiú', -14.4054000, -43.5595000), -(2917359, 29, 'Jaborandi', -13.6071000, -44.4255000), -(2917409, 29, 'Jacaraci', -14.8541000, -42.4329000), -(2917508, 29, 'Jacobina', -11.1812000, -40.5117000), -(2917607, 29, 'Jaguaquara', -13.5248000, -39.9640000), -(2917706, 29, 'Jaguarari', -10.2569000, -40.1999000), -(2917805, 29, 'Jaguaripe', -13.1109000, -38.8939000), -(2917904, 29, 'Jandaíra', -11.5616000, -37.7853000), -(2918001, 29, 'Jequié', -13.8509000, -40.0877000), -(2918100, 29, 'Jeremoabo', -10.0685000, -38.3471000), -(2918209, 29, 'Jiquiriçá', -13.2621000, -39.5737000), -(2918308, 29, 'Jitaúna', -14.0131000, -39.8969000), -(2918357, 29, 'João Dourado', -11.3486000, -41.6548000), -(2918407, 29, 'Juazeiro', -9.4162200, -40.5033000), -(2918456, 29, 'Jucuruçu', -16.8488000, -40.1641000), -(2918506, 29, 'Jussara', -11.0431000, -41.9702000), -(2918555, 29, 'Jussari', -15.1920000, -39.4910000), -(2918605, 29, 'Jussiape', -13.5155000, -41.5882000), -(2918704, 29, 'Lafaiete Coutinho', -13.6541000, -40.2119000), -(2918753, 29, 'Lagoa Real', -14.0334000, -42.1328000), -(2918803, 29, 'Laje', -13.1673000, -39.4213000), -(2918902, 29, 'Lajedão', -17.6056000, -40.3383000), -(2919009, 29, 'Lajedinho', -12.3529000, -40.9048000), -(2919058, 29, 'Lajedo do Tabocal', -13.4663000, -40.2204000), -(2919108, 29, 'Lamarão', -11.7730000, -38.8870000), -(2919157, 29, 'Lapão', -11.3851000, -41.8286000), -(2919207, 29, 'Lauro de Freitas', -12.8978000, -38.3210000), -(2919306, 29, 'Lençóis', -12.5616000, -41.3928000), -(2919405, 29, 'Licínio de Almeida', -14.6842000, -42.5095000), -(2919504, 29, 'Livramento de Nossa Senhora', -13.6369000, -41.8432000), -(2919553, 29, 'Luís Eduardo Magalhães', -12.0956000, -45.7866000), -(2919603, 29, 'Macajuba', -12.1326000, -40.3571000), -(2919702, 29, 'Macarani', -15.5646000, -40.4209000), -(2919801, 29, 'Macaúbas', -13.0186000, -42.6945000), -(2919900, 29, 'Macururé', -91.6226000, -39.0518000), -(2919926, 29, 'Madre de Deus', -12.7446000, -38.6153000), -(2919959, 29, 'Maetinga', -14.6623000, -41.4915000), -(2920007, 29, 'Maiquinique', -15.6240000, -40.2587000), -(2920106, 29, 'Mairi', -11.7107000, -40.1437000), -(2920205, 29, 'Malhada', -14.3371000, -43.7686000), -(2920304, 29, 'Malhada de Pedras', -14.3847000, -41.8842000), -(2920403, 29, 'Manoel Vitorino', -14.1476000, -40.2399000), -(2920452, 29, 'Mansidão', -10.7227000, -44.0428000), -(2920502, 29, 'Maracás', -13.4355000, -40.4323000), -(2920601, 29, 'Maragogipe', -12.7760000, -38.9175000), -(2920700, 29, 'Maraú', -14.1035000, -39.0137000), -(2920809, 29, 'Marcionílio Souza', -13.0064000, -40.5295000), -(2920908, 29, 'Mascote', -15.5542000, -39.3016000), -(2921005, 29, 'Mata de São João', -12.5307000, -38.3009000), -(2921054, 29, 'Matina', -13.9109000, -42.8439000), -(2921104, 29, 'Medeiros Neto', -17.3707000, -40.2238000), -(2921203, 29, 'Miguel Calmon', -11.4299000, -40.6031000), -(2921302, 29, 'Milagres', -12.8646000, -39.8611000), -(2921401, 29, 'Mirangaba', -10.9610000, -40.5740000), -(2921450, 29, 'Mirante', -14.2385000, -40.7718000), -(2921500, 29, 'Monte Santo', -10.4374000, -39.3321000), -(2921609, 29, 'Morpará', -11.5569000, -43.2766000), -(2921708, 29, 'Morro do Chapéu', -11.5488000, -41.1565000), -(2921807, 29, 'Mortugaba', -15.0225000, -42.3727000), -(2921906, 29, 'Mucugê', -13.0053000, -41.3703000), -(2922003, 29, 'Mucuri', -18.0754000, -39.5565000), -(2922052, 29, 'Mulungu do Morro', -11.9648000, -41.6374000), -(2922102, 29, 'Mundo Novo', -11.8541000, -40.4714000), -(2922201, 29, 'Muniz Ferreira', -13.0092000, -39.1092000), -(2922250, 29, 'Muquém de São Francisco', -12.0650000, -43.5497000), -(2922300, 29, 'Muritiba', -12.6329000, -38.9921000), -(2922409, 29, 'Mutuípe', -13.2284000, -39.5044000), -(2922508, 29, 'Nazaré', -13.0235000, -39.0108000), -(2922607, 29, 'Nilo Peçanha', -13.6040000, -39.1091000), -(2922656, 29, 'Nordestina', -10.8192000, -39.4297000), -(2922706, 29, 'Nova Canaã', -14.7912000, -40.1458000), -(2922730, 29, 'Nova Fátima', -11.6031000, -39.6302000), -(2922755, 29, 'Nova Ibiá', -13.8120000, -39.6182000), -(2922805, 29, 'Nova Itarana', -13.0241000, -40.0653000), -(2922854, 29, 'Nova Redenção', -12.8150000, -41.0748000), -(2922904, 29, 'Nova Soure', -11.2329000, -38.4871000), -(2923001, 29, 'Nova Viçosa', -17.8926000, -39.3743000), -(2923035, 29, 'Novo Horizonte', -12.8083000, -42.1682000), -(2923050, 29, 'Novo Triunfo', -10.3182000, -38.4014000), -(2923100, 29, 'Olindina', -11.3497000, -38.3379000), -(2923209, 29, 'Oliveira dos Brejinhos', -12.3132000, -42.8969000), -(2923308, 29, 'Ouriçangas', -12.0175000, -38.6166000), -(2923357, 29, 'Ourolândia', -10.9578000, -41.0756000), -(2923407, 29, 'Palmas de Monte Alto', -14.2676000, -43.1609000), -(2923506, 29, 'Palmeiras', -12.5059000, -41.5809000), -(2923605, 29, 'Paramirim', -13.4388000, -42.2395000), -(2923704, 29, 'Paratinga', -12.6870000, -43.1798000), -(2923803, 29, 'Paripiranga', -10.6859000, -37.8626000), -(2923902, 29, 'Pau Brasil', -15.4572000, -39.6458000), -(2924009, 29, 'Paulo Afonso', -93.9830000, -38.2216000), -(2924058, 29, 'Pé de Serra', -11.8313000, -39.6110000), -(2924108, 29, 'Pedrão', -12.1491000, -38.6487000), -(2924207, 29, 'Pedro Alexandre', -10.0120000, -37.8932000), -(2924306, 29, 'Piatã', -13.1465000, -41.7702000), -(2924405, 29, 'Pilão Arcado', -10.0051000, -42.4936000), -(2924504, 29, 'Pindaí', -14.4921000, -42.6860000), -(2924603, 29, 'Pindobaçu', -10.7433000, -40.3675000), -(2924652, 29, 'Pintadas', -11.8117000, -39.9009000), -(2924678, 29, 'Piraí do Norte', -13.7590000, -39.3836000), -(2924702, 29, 'Piripá', -14.9444000, -41.7168000), -(2924801, 29, 'Piritiba', -11.7300000, -40.5587000), -(2924900, 29, 'Planaltino', -13.2618000, -40.3695000), -(2925006, 29, 'Planalto', -14.6654000, -40.4718000), -(2925105, 29, 'Poções', -14.5234000, -40.3634000), -(2925204, 29, 'Pojuca', -12.4303000, -38.3374000), -(2925253, 29, 'Ponto Novo', -10.8653000, -40.1311000), -(2925303, 29, 'Porto Seguro', -16.4435000, -39.0643000), -(2925402, 29, 'Potiraguá', -15.5943000, -39.8638000), -(2925501, 29, 'Prado', -17.3364000, -39.2227000), -(2925600, 29, 'Presidente Dutra', -11.2923000, -41.9843000), -(2925709, 29, 'Presidente Jânio Quadros', -14.6885000, -41.6798000), -(2925758, 29, 'Presidente Tancredo Neves', -13.4471000, -39.4203000), -(2925808, 29, 'Queimadas', -10.9736000, -39.6293000), -(2925907, 29, 'Quijingue', -10.7505000, -39.2137000), -(2925931, 29, 'Quixabeira', -11.4031000, -40.1200000), -(2925956, 29, 'Rafael Jambeiro', -12.4053000, -39.5007000), -(2926004, 29, 'Remanso', -96.1944000, -42.0848000), -(2926103, 29, 'Retirolândia', -11.4832000, -39.4234000), -(2926202, 29, 'Riachão das Neves', -11.7508000, -44.9143000), -(2926301, 29, 'Riachão do Jacuípe', -11.8067000, -39.3818000), -(2926400, 29, 'Riacho de Santana', -13.6059000, -42.9397000), -(2926509, 29, 'Ribeira do Amparo', -11.0421000, -38.4242000), -(2926608, 29, 'Ribeira do Pombal', -10.8373000, -38.5382000), -(2926657, 29, 'Ribeirão do Largo', -15.4508000, -40.7441000), -(2926707, 29, 'Rio de Contas', -13.5852000, -41.8048000), -(2926806, 29, 'Rio do Antônio', -14.4071000, -42.0721000), -(2926905, 29, 'Rio do Pires', -13.1185000, -42.2902000), -(2927002, 29, 'Rio Real', -11.4814000, -37.9332000), -(2927101, 29, 'Rodelas', -88.5021000, -38.7800000), -(2927200, 29, 'Ruy Barbosa', -12.2816000, -40.4931000), -(2927309, 29, 'Salinas da Margarida', -12.8730000, -38.7562000), -(2927408, 29, 'Salvador', -12.9718000, -38.5011000), -(2927507, 29, 'Santa Bárbara', -11.9515000, -38.9681000), -(2927606, 29, 'Santa Brígida', -97.3227000, -38.1209000), -(2927705, 29, 'Santa Cruz Cabrália', -16.2825000, -39.0295000), -(2927804, 29, 'Santa Cruz da Vitória', -14.9640000, -39.8115000), -(2927903, 29, 'Santa Inês', -13.2793000, -39.8140000), -(2928000, 29, 'Santaluz', -11.2508000, -39.3750000), -(2928059, 29, 'Santa Luzia', -15.4342000, -39.3287000), -(2928109, 29, 'Santa Maria da Vitória', -13.3859000, -44.2011000), -(2928208, 29, 'Santana', -12.9792000, -44.0506000), -(2928307, 29, 'Santanópolis', -12.0311000, -38.8694000), -(2928406, 29, 'Santa Rita de Cássia', -11.0063000, -44.5255000), -(2928505, 29, 'Santa Teresinha', -12.7697000, -39.5215000), -(2928604, 29, 'Santo Amaro', -12.5472000, -38.7137000), -(2928703, 29, 'Santo Antônio de Jesus', -12.9614000, -39.2584000), -(2928802, 29, 'Santo Estêvão', -12.4280000, -39.2505000), -(2928901, 29, 'São Desidério', -12.3572000, -44.9769000), -(2928950, 29, 'São Domingos', -11.4649000, -39.5268000), -(2929008, 29, 'São Félix', -12.6104000, -38.9727000), -(2929057, 29, 'São Félix do Coribe', -13.4019000, -44.1837000), -(2929107, 29, 'São Felipe', -12.8394000, -39.0893000), -(2929206, 29, 'São Francisco do Conde', -12.6183000, -38.6786000), -(2929255, 29, 'São Gabriel', -11.2175000, -41.8843000), -(2929305, 29, 'São Gonçalo dos Campos', -12.4331000, -38.9663000), -(2929354, 29, 'São José da Vitória', -15.0787000, -39.3437000), -(2929370, 29, 'São José do Jacuípe', -11.4137000, -39.8669000), -(2929404, 29, 'São Miguel das Matas', -13.0434000, -39.4578000), -(2929503, 29, 'São Sebastião do Passé', -12.5123000, -38.4905000), -(2929602, 29, 'Sapeaçu', -12.7208000, -39.1824000), -(2929701, 29, 'Sátiro Dias', -11.5929000, -38.5938000), -(2929750, 29, 'Saubara', -12.7387000, -38.7625000), -(2929800, 29, 'Saúde', -10.9428000, -40.4155000), -(2929909, 29, 'Seabra', -12.4169000, -41.7722000), -(2930006, 29, 'Sebastião Laranjeiras', -14.5710000, -42.9434000), -(2930105, 29, 'Senhor do Bonfim', -10.4594000, -40.1865000), -(2930154, 29, 'Serra do Ramalho', -13.5659000, -43.5929000), -(2930204, 29, 'Sento Sé', -97.4138000, -41.8786000), -(2930303, 29, 'Serra Dourada', -12.7590000, -43.9504000), -(2930402, 29, 'Serra Preta', -12.1560000, -39.3305000), -(2930501, 29, 'Serrinha', -11.6584000, -39.0100000), -(2930600, 29, 'Serrolândia', -11.4085000, -40.2983000), -(2930709, 29, 'Simões Filho', -12.7866000, -38.4029000), -(2930758, 29, 'Sítio do Mato', -13.0801000, -43.4689000), -(2930766, 29, 'Sítio do Quinto', -10.3545000, -38.2213000), -(2930774, 29, 'Sobradinho', -94.5024000, -40.8145000), -(2930808, 29, 'Souto Soares', -12.0880000, -41.6427000), -(2930907, 29, 'Tabocas do Brejo Velho', -12.7026000, -44.0075000), -(2931004, 29, 'Tanhaçu', -14.0197000, -41.2473000), -(2931053, 29, 'Tanque Novo', -13.5485000, -42.4934000), -(2931103, 29, 'Tanquinho', -11.9680000, -39.1033000), -(2931202, 29, 'Taperoá', -13.5321000, -39.1009000), -(2931301, 29, 'Tapiramutá', -11.8475000, -40.7927000), -(2931350, 29, 'Teixeira de Freitas', -17.5399000, -39.7400000), -(2931400, 29, 'Teodoro Sampaio', -12.2950000, -38.6347000), -(2931509, 29, 'Teofilândia', -11.4827000, -38.9913000), -(2931608, 29, 'Teolândia', -13.5896000, -39.4840000), -(2931707, 29, 'Terra Nova', -12.3888000, -38.6238000), -(2931806, 29, 'Tremedal', -14.9736000, -41.4142000), -(2931905, 29, 'Tucano', -10.9584000, -38.7894000), -(2932002, 29, 'Uauá', -98.3325000, -39.4794000), -(2932101, 29, 'Ubaíra', -13.2714000, -39.6660000), -(2932200, 29, 'Ubaitaba', -14.3030000, -39.3222000), -(2932309, 29, 'Ubatã', -14.2063000, -39.5207000), -(2932408, 29, 'Uibaí', -11.3394000, -42.1354000), -(2932457, 29, 'Umburanas', -10.7339000, -41.3234000), -(2932507, 29, 'Una', -15.2791000, -39.0765000), -(2932606, 29, 'Urandi', -14.7678000, -42.6498000), -(2932705, 29, 'Uruçuca', -14.5963000, -39.2851000), -(2932804, 29, 'Utinga', -12.0783000, -41.0954000), -(2932903, 29, 'Valença', -13.3669000, -39.0730000), -(2933000, 29, 'Valente', -11.4062000, -39.4570000), -(2933059, 29, 'Várzea da Roça', -11.6005000, -40.1328000), -(2933109, 29, 'Várzea do Poço', -11.5273000, -40.3149000), -(2933158, 29, 'Várzea Nova', -11.2557000, -40.9432000), -(2933174, 29, 'Varzedo', -12.9672000, -39.3919000), -(2933208, 29, 'Vera Cruz', -12.9568000, -38.6153000), -(2933257, 29, 'Vereda', -17.2183000, -40.0974000), -(2933307, 29, 'Vitória da Conquista', -14.8615000, -40.8442000), -(2933406, 29, 'Wagner', -12.2819000, -41.1715000), -(2933455, 29, 'Wanderley', -12.1144000, -43.8958000), -(2933505, 29, 'Wenceslau Guimarães', -13.6908000, -39.4762000), -(2933604, 29, 'Xique-Xique', -10.8230000, -42.7245000), -(3100104, 31, 'Abadia dos Dourados', -18.4831000, -47.3916000), -(3100203, 31, 'Abaeté', -19.1551000, -45.4444000), -(3100302, 31, 'Abre Campo', -20.2996000, -42.4743000), -(3100401, 31, 'Acaiaca', -20.3590000, -43.1439000), -(3100500, 31, 'Açucena', -19.0671000, -42.5419000), -(3100609, 31, 'Água Boa', -17.9914000, -42.3806000), -(3100708, 31, 'Água Comprida', -20.0576000, -48.1069000), -(3100807, 31, 'Aguanil', -20.9439000, -45.3915000), -(3100906, 31, 'Águas Formosas', -17.0802000, -40.9384000), -(3101003, 31, 'Águas Vermelhas', -15.7431000, -41.4571000), -(3101102, 31, 'Aimorés', -19.5007000, -41.0746000), -(3101201, 31, 'Aiuruoca', -21.9736000, -44.6042000), -(3101300, 31, 'Alagoa', -22.1710000, -44.6413000), -(3101409, 31, 'Albertina', -22.2018000, -46.6139000), -(3101508, 31, 'Além Paraíba', -21.8797000, -42.7176000), -(3101607, 31, 'Alfenas', -21.4256000, -45.9477000), -(3101631, 31, 'Alfredo Vasconcelos', -21.1535000, -43.7718000), -(3101706, 31, 'Almenara', -16.1785000, -40.6942000), -(3101805, 31, 'Alpercata', -18.9740000, -41.9700000), -(3101904, 31, 'Alpinópolis', -20.8631000, -46.3878000), -(3102001, 31, 'Alterosa', -21.2488000, -46.1387000), -(3102050, 31, 'Alto Caparaó', -20.4310000, -41.8738000), -(3102100, 31, 'Alto Rio Doce', -21.0281000, -43.4067000), -(3102209, 31, 'Alvarenga', -19.4174000, -41.7317000), -(3102308, 31, 'Alvinópolis', -20.1098000, -43.0535000), -(3102407, 31, 'Alvorada de Minas', -18.7334000, -43.3638000), -(3102506, 31, 'Amparo do Serra', -20.5051000, -42.8009000), -(3102605, 31, 'Andradas', -22.0695000, -46.5724000), -(3102704, 31, 'Cachoeira de Pajeú', -15.9688000, -41.4948000), -(3102803, 31, 'Andrelândia', -21.7411000, -44.3117000), -(3102852, 31, 'Angelândia', -17.7279000, -42.2641000), -(3102902, 31, 'Antônio Carlos', -21.3210000, -43.7451000), -(3103009, 31, 'Antônio Dias', -19.6491000, -42.8732000), -(3103108, 31, 'Antônio Prado de Minas', -21.0192000, -42.1109000), -(3103207, 31, 'Araçaí', -19.1955000, -44.2493000), -(3103306, 31, 'Aracitaba', -21.3446000, -43.3736000), -(3103405, 31, 'Araçuaí', -16.8523000, -42.0637000), -(3103504, 31, 'Araguari', -18.6456000, -48.1934000), -(3103603, 31, 'Arantina', -21.9102000, -44.2555000), -(3103702, 31, 'Araponga', -20.6686000, -42.5178000), -(3103751, 31, 'Araporã', -18.4357000, -49.1847000), -(3103801, 31, 'Arapuá', -19.0268000, -46.1484000), -(3103900, 31, 'Araújos', -19.9405000, -45.1671000), -(3104007, 31, 'Araxá', -19.5902000, -46.9438000), -(3104106, 31, 'Arceburgo', -21.3590000, -46.9401000), -(3104205, 31, 'Arcos', -20.2863000, -45.5373000), -(3104304, 31, 'Areado', -21.3572000, -46.1421000), -(3104403, 31, 'Argirita', -21.6083000, -42.8292000), -(3104452, 31, 'Aricanduva', -17.8666000, -42.5533000), -(3104502, 31, 'Arinos', -15.9187000, -46.1043000), -(3104601, 31, 'Astolfo Dutra', -21.3184000, -42.8572000), -(3104700, 31, 'Ataléia', -18.0438000, -41.1149000), -(3104809, 31, 'Augusto de Lima', -18.0997000, -44.2655000), -(3104908, 31, 'Baependi', -21.9570000, -44.8874000), -(3105004, 31, 'Baldim', -19.2832000, -43.9613000), -(3105103, 31, 'Bambuí', -20.0166000, -45.9754000), -(3105202, 31, 'Bandeira', -15.8783000, -40.5622000), -(3105301, 31, 'Bandeira do Sul', -21.7308000, -46.3833000), -(3105400, 31, 'Barão de Cocais', -19.9389000, -43.4755000), -(3105509, 31, 'Barão de Monte Alto', -21.2444000, -42.2372000), -(3105608, 31, 'Barbacena', -21.2214000, -43.7703000), -(3105707, 31, 'Barra Longa', -20.2869000, -43.0402000), -(3105905, 31, 'Barroso', -21.1907000, -43.9720000), -(3106002, 31, 'Bela Vista de Minas', -19.8302000, -43.0922000), -(3106101, 31, 'Belmiro Braga', -21.9440000, -43.4084000), -(3106200, 31, 'Belo Horizonte', -19.9102000, -43.9266000), -(3106309, 31, 'Belo Oriente', -19.2199000, -42.4828000), -(3106408, 31, 'Belo Vale', -20.4077000, -44.0275000), -(3106507, 31, 'Berilo', -16.9567000, -42.4606000), -(3106606, 31, 'Bertópolis', -17.0590000, -40.5800000), -(3106655, 31, 'Berizal', -15.6100000, -41.7432000), -(3106705, 31, 'Betim', -19.9668000, -44.2008000), -(3106804, 31, 'Bias Fortes', -21.6020000, -43.7574000), -(3106903, 31, 'Bicas', -21.7232000, -43.0560000), -(3107000, 31, 'Biquinhas', -18.7754000, -45.4974000), -(3107109, 31, 'Boa Esperança', -21.0927000, -45.5612000), -(3107208, 31, 'Bocaina de Minas', -22.1697000, -44.3972000), -(3107307, 31, 'Bocaiúva', -17.1135000, -43.8104000), -(3107406, 31, 'Bom Despacho', -19.7386000, -45.2622000), -(3107505, 31, 'Bom Jardim de Minas', -21.9479000, -44.1885000), -(3107604, 31, 'Bom Jesus da Penha', -21.0148000, -46.5174000), -(3107703, 31, 'Bom Jesus do Amparo', -19.7054000, -43.4782000), -(3107802, 31, 'Bom Jesus do Galho', -19.8360000, -42.3165000), -(3107901, 31, 'Bom Repouso', -22.4675000, -46.1440000), -(3108008, 31, 'Bom Sucesso', -21.0329000, -44.7537000), -(3108107, 31, 'Bonfim', -20.3302000, -44.2366000), -(3108206, 31, 'Bonfinópolis de Minas', -16.5680000, -45.9839000), -(3108255, 31, 'Bonito de Minas', -15.3231000, -44.7543000), -(3108305, 31, 'Borda da Mata', -22.2707000, -46.1653000), -(3108404, 31, 'Botelhos', -21.6412000, -46.3910000), -(3108503, 31, 'Botumirim', -16.8657000, -43.0086000), -(3108552, 31, 'Brasilândia de Minas', -16.9999000, -46.0081000), -(3108602, 31, 'Brasília de Minas', -16.2104000, -44.4299000), -(3108701, 31, 'Brás Pires', -20.8419000, -43.2406000), -(3108800, 31, 'Braúnas', -19.0562000, -42.7099000), -(3108909, 31, 'Brazópolis', -22.4743000, -45.6166000), -(3109006, 31, 'Brumadinho', -20.1510000, -44.2007000), -(3109105, 31, 'Bueno Brandão', -22.4383000, -46.3491000), -(3109204, 31, 'Buenópolis', -17.8744000, -44.1775000), -(3109253, 31, 'Bugre', -19.4231000, -42.2552000), -(3109303, 31, 'Buritis', -15.6218000, -46.4221000), -(3109402, 31, 'Buritizeiro', -17.3656000, -44.9606000), -(3109451, 31, 'Cabeceira Grande', -16.0335000, -47.0862000), -(3109501, 31, 'Cabo Verde', -21.4699000, -46.3919000), -(3109600, 31, 'Cachoeira da Prata', -19.5210000, -44.4544000), -(3109709, 31, 'Cachoeira de Minas', -22.3511000, -45.7809000), -(3109808, 31, 'Cachoeira Dourada', -18.5161000, -49.5039000), -(3109907, 31, 'Caetanópolis', -19.2971000, -44.4189000), -(3110004, 31, 'Caeté', -19.8826000, -43.6704000), -(3110103, 31, 'Caiana', -20.6956000, -41.9292000), -(3110202, 31, 'Cajuri', -20.7903000, -42.7925000), -(3110301, 31, 'Caldas', -21.9183000, -46.3843000), -(3110400, 31, 'Camacho', -20.6294000, -45.1593000), -(3110509, 31, 'Camanducaia', -22.7515000, -46.1494000), -(3110608, 31, 'Cambuí', -22.6115000, -46.0572000), -(3110707, 31, 'Cambuquira', -21.8540000, -45.2896000), -(3110806, 31, 'Campanário', -18.2427000, -41.7355000), -(3110905, 31, 'Campanha', -21.8360000, -45.4004000), -(3111002, 31, 'Campestre', -21.7079000, -46.2381000), -(3111101, 31, 'Campina Verde', -19.5382000, -49.4862000), -(3111150, 31, 'Campo Azul', -16.5028000, -44.8096000), -(3111200, 31, 'Campo Belo', -20.8932000, -45.2699000), -(3111309, 31, 'Campo do Meio', -21.1127000, -45.8273000), -(3111408, 31, 'Campo Florido', -19.7631000, -48.5716000), -(3111507, 31, 'Campos Altos', -19.6914000, -46.1725000), -(3111606, 31, 'Campos Gerais', -21.2370000, -45.7569000), -(3111705, 31, 'Canaã', -20.6869000, -42.6167000), -(3111804, 31, 'Canápolis', -18.7212000, -49.2035000), -(3111903, 31, 'Cana Verde', -21.0232000, -45.1801000), -(3112000, 31, 'Candeias', -20.7692000, -45.2765000), -(3112059, 31, 'Cantagalo', -18.5248000, -42.6223000), -(3112109, 31, 'Caparaó', -20.5289000, -41.9061000), -(3112208, 31, 'Capela Nova', -20.9179000, -43.6220000), -(3112307, 31, 'Capelinha', -17.6888000, -42.5147000), -(3112406, 31, 'Capetinga', -20.6163000, -47.0571000), -(3112505, 31, 'Capim Branco', -19.5471000, -44.1304000), -(3112604, 31, 'Capinópolis', -18.6862000, -49.5706000), -(3112653, 31, 'Capitão Andrade', -19.0748000, -41.8614000), -(3112703, 31, 'Capitão Enéas', -16.3265000, -43.7084000), -(3112802, 31, 'Capitólio', -20.6164000, -46.0493000), -(3112901, 31, 'Caputira', -20.1703000, -42.2683000), -(3113008, 31, 'Caraí', -17.1862000, -41.7004000), -(3113107, 31, 'Caranaíba', -20.8707000, -43.7417000), -(3113206, 31, 'Carandaí', -20.9566000, -43.8110000), -(3113305, 31, 'Carangola', -20.7343000, -42.0313000), -(3113404, 31, 'Caratinga', -19.7868000, -42.1292000), -(3113503, 31, 'Carbonita', -17.5255000, -43.0137000), -(3113602, 31, 'Careaçu', -22.0424000, -45.6960000), -(3113701, 31, 'Carlos Chagas', -17.6973000, -40.7723000), -(3113800, 31, 'Carmésia', -19.0877000, -43.1382000), -(3113909, 31, 'Carmo da Cachoeira', -21.4633000, -45.2201000), -(3114006, 31, 'Carmo da Mata', -20.5575000, -44.8735000), -(3114105, 31, 'Carmo de Minas', -22.1204000, -45.1307000), -(3114204, 31, 'Carmo do Cajuru', -20.1912000, -44.7664000), -(3114303, 31, 'Carmo do Paranaíba', -18.9910000, -46.3167000), -(3114402, 31, 'Carmo do Rio Claro', -20.9736000, -46.1149000), -(3114501, 31, 'Carmópolis de Minas', -20.5396000, -44.6336000), -(3114550, 31, 'Carneirinho', -19.6987000, -50.6894000), -(3114600, 31, 'Carrancas', -21.4898000, -44.6446000), -(3114709, 31, 'Carvalhópolis', -21.7735000, -45.8421000), -(3114808, 31, 'Carvalhos', -22.0000000, -44.4632000), -(3114907, 31, 'Casa Grande', -20.7925000, -43.9343000), -(3115003, 31, 'Cascalho Rico', -18.5772000, -47.8716000), -(3115102, 31, 'Cássia', -20.5831000, -46.9201000), -(3115201, 31, 'Conceição da Barra de Minas', -21.1316000, -44.4729000), -(3115300, 31, 'Cataguases', -21.3924000, -42.6896000), -(3115359, 31, 'Catas Altas', -20.0734000, -43.4061000), -(3115409, 31, 'Catas Altas da Noruega', -20.6901000, -43.4939000), -(3115458, 31, 'Catuji', -17.3018000, -41.5276000), -(3115474, 31, 'Catuti', -15.3616000, -42.9627000), -(3115508, 31, 'Caxambu', -21.9753000, -44.9319000), -(3115607, 31, 'Cedro do Abaeté', -19.1458000, -45.7120000), -(3115706, 31, 'Central de Minas', -18.7612000, -41.3143000), -(3115805, 31, 'Centralina', -18.5852000, -49.2014000), -(3115904, 31, 'Chácara', -21.6733000, -43.2150000), -(3116001, 31, 'Chalé', -20.0453000, -41.6897000), -(3116100, 31, 'Chapada do Norte', -17.0881000, -42.5392000), -(3116159, 31, 'Chapada Gaúcha', -15.3014000, -45.6116000), -(3116209, 31, 'Chiador', -21.9996000, -43.0617000), -(3116308, 31, 'Cipotânea', -20.9026000, -43.3629000), -(3116407, 31, 'Claraval', -20.3970000, -47.2768000), -(3116506, 31, 'Claro dos Poções', -17.0820000, -44.2061000), -(3116605, 31, 'Cláudio', -20.4437000, -44.7673000), -(3116704, 31, 'Coimbra', -20.8535000, -42.8008000), -(3116803, 31, 'Coluna', -18.2311000, -42.8352000), -(3116902, 31, 'Comendador Gomes', -19.6973000, -49.0789000), -(3117009, 31, 'Comercinho', -16.2963000, -41.7945000), -(3117108, 31, 'Conceição da Aparecida', -21.0960000, -46.2049000), -(3117207, 31, 'Conceição das Pedras', -22.1576000, -45.4562000), -(3117306, 31, 'Conceição das Alagoas', -19.9172000, -48.3839000), -(3117405, 31, 'Conceição de Ipanema', -19.9326000, -41.6908000), -(3117504, 31, 'Conceição do Mato Dentro', -19.0344000, -43.4221000), -(3117603, 31, 'Conceição do Pará', -19.7456000, -44.8945000), -(3117702, 31, 'Conceição do Rio Verde', -21.8778000, -45.0870000), -(3117801, 31, 'Conceição dos Ouros', -22.4078000, -45.7996000), -(3117836, 31, 'Cônego Marinho', -15.2892000, -44.4181000), -(3117876, 31, 'Confins', -19.6282000, -43.9931000), -(3117900, 31, 'Congonhal', -22.1488000, -46.0430000), -(3118007, 31, 'Congonhas', -20.4958000, -43.8510000), -(3118106, 31, 'Congonhas do Norte', -18.8021000, -43.6767000), -(3118205, 31, 'Conquista', -19.9312000, -47.5492000), -(3118304, 31, 'Conselheiro Lafaiete', -20.6634000, -43.7846000), -(3118403, 31, 'Conselheiro Pena', -19.1789000, -41.4736000), -(3118502, 31, 'Consolação', -22.5493000, -45.9255000), -(3118601, 31, 'Contagem', -19.9321000, -44.0539000), -(3118700, 31, 'Coqueiral', -21.1858000, -45.4366000), -(3118809, 31, 'Coração de Jesus', -16.6841000, -44.3635000), -(3118908, 31, 'Cordisburgo', -19.1224000, -44.3224000), -(3119005, 31, 'Cordislândia', -21.7891000, -45.6999000), -(3119104, 31, 'Corinto', -18.3690000, -44.4542000), -(3119203, 31, 'Coroaci', -18.6156000, -42.2791000), -(3119302, 31, 'Coromandel', -18.4734000, -47.1933000), -(3119401, 31, 'Coronel Fabriciano', -19.5179000, -42.6276000), -(3119500, 31, 'Coronel Murta', -16.6148000, -42.1840000), -(3119609, 31, 'Coronel Pacheco', -21.5898000, -43.2560000), -(3119708, 31, 'Coronel Xavier Chaves', -21.0277000, -44.2206000), -(3119807, 31, 'Córrego Danta', -19.8198000, -45.9032000), -(3119906, 31, 'Córrego do Bom Jesus', -22.6269000, -46.0241000), -(3119955, 31, 'Córrego Fundo', -20.4474000, -45.5617000), -(3120003, 31, 'Córrego Novo', -19.8361000, -42.3988000), -(3120102, 31, 'Couto de Magalhães de Minas', -18.0727000, -43.4648000), -(3120151, 31, 'Crisólita', -17.2381000, -40.9184000), -(3120201, 31, 'Cristais', -20.8733000, -45.5167000), -(3120300, 31, 'Cristália', -16.7160000, -42.8571000), -(3120409, 31, 'Cristiano Otoni', -20.8324000, -43.8166000), -(3120508, 31, 'Cristina', -22.2080000, -45.2673000), -(3120607, 31, 'Crucilândia', -20.3923000, -44.3334000), -(3120706, 31, 'Cruzeiro da Fortaleza', -18.9440000, -46.6669000), -(3120805, 31, 'Cruzília', -21.8400000, -44.8067000), -(3120839, 31, 'Cuparaque', -18.9648000, -41.0986000), -(3120870, 31, 'Curral de Dentro', -15.9327000, -41.8557000), -(3120904, 31, 'Curvelo', -18.7527000, -44.4303000), -(3121001, 31, 'Datas', -18.4478000, -43.6591000), -(3121100, 31, 'Delfim Moreira', -22.5036000, -45.2792000), -(3121209, 31, 'Delfinópolis', -20.3468000, -46.8456000), -(3121258, 31, 'Delta', -19.9721000, -47.7841000), -(3121308, 31, 'Descoberto', -21.4600000, -42.9618000), -(3121407, 31, 'Desterro de Entre Rios', -20.6650000, -44.3334000), -(3121506, 31, 'Desterro do Melo', -21.1430000, -43.5178000), -(3121605, 31, 'Diamantina', -18.2413000, -43.6031000), -(3121704, 31, 'Diogo de Vasconcelos', -20.4879000, -43.1953000), -(3121803, 31, 'Dionísio', -19.8433000, -42.7701000), -(3121902, 31, 'Divinésia', -20.9917000, -43.0003000), -(3122009, 31, 'Divino', -20.6134000, -42.1438000), -(3122108, 31, 'Divino das Laranjeiras', -18.7755000, -41.4781000), -(3122207, 31, 'Divinolândia de Minas', -18.8004000, -42.6103000), -(3122306, 31, 'Divinópolis', -20.1446000, -44.8912000), -(3122355, 31, 'Divisa Alegre', -15.7221000, -41.3463000), -(3122405, 31, 'Divisa Nova', -21.5092000, -46.1904000), -(3122454, 31, 'Divisópolis', -15.7254000, -40.9997000), -(3122470, 31, 'Dom Bosco', -16.6520000, -46.2597000), -(3122504, 31, 'Dom Cavati', -19.3735000, -42.1121000), -(3122603, 31, 'Dom Joaquim', -18.9610000, -43.2544000), -(3122702, 31, 'Dom Silvério', -20.1627000, -42.9627000), -(3122801, 31, 'Dom Viçoso', -22.2511000, -45.1643000), -(3122900, 31, 'Dona Eusébia', -21.3190000, -42.8070000), -(3123007, 31, 'Dores de Campos', -21.1139000, -44.0207000), -(3123106, 31, 'Dores de Guanhães', -19.0516000, -42.9254000), -(3123205, 31, 'Dores do Indaiá', -19.4628000, -45.5927000), -(3123304, 31, 'Dores do Turvo', -20.9785000, -43.1834000), -(3123403, 31, 'Doresópolis', -20.2868000, -45.9007000), -(3123502, 31, 'Douradoquara', -18.4338000, -47.5993000), -(3123528, 31, 'Durandé', -20.2058000, -41.7977000), -(3123601, 31, 'Elói Mendes', -21.6088000, -45.5691000), -(3123700, 31, 'Engenheiro Caldas', -19.2065000, -42.0503000), -(3123809, 31, 'Engenheiro Navarro', -17.2831000, -43.9470000), -(3123858, 31, 'Entre Folhas', -19.6218000, -42.2306000), -(3123908, 31, 'Entre Rios de Minas', -20.6706000, -44.0654000), -(3124005, 31, 'Ervália', -20.8403000, -42.6544000), -(3124104, 31, 'Esmeraldas', -19.7640000, -44.3065000), -(3124203, 31, 'Espera Feliz', -20.6508000, -41.9119000), -(3124302, 31, 'Espinosa', -14.9249000, -42.8090000), -(3124401, 31, 'Espírito Santo do Dourado', -22.0454000, -45.9548000), -(3124500, 31, 'Estiva', -22.4577000, -46.0191000), -(3124609, 31, 'Estrela Dalva', -21.7412000, -42.4574000), -(3124708, 31, 'Estrela do Indaiá', -19.5169000, -45.7859000), -(3124807, 31, 'Estrela do Sul', -18.7399000, -47.6956000), -(3124906, 31, 'Eugenópolis', -21.1002000, -42.1878000), -(3125002, 31, 'Ewbank da Câmara', -21.5498000, -43.5068000), -(3125101, 31, 'Extrema', -22.8540000, -46.3178000), -(3125200, 31, 'Fama', -21.4089000, -45.8286000), -(3125309, 31, 'Faria Lemos', -20.8097000, -42.0213000), -(3125408, 31, 'Felício dos Santos', -18.0755000, -43.2422000), -(3125507, 31, 'São Gonçalo do Rio Preto', -18.0025000, -43.3854000), -(3125606, 31, 'Felisburgo', -16.6348000, -40.7605000), -(3125705, 31, 'Felixlândia', -18.7507000, -44.9004000), -(3125804, 31, 'Fernandes Tourinho', -19.1541000, -42.0803000), -(3125903, 31, 'Ferros', -19.2343000, -43.0192000), -(3125952, 31, 'Fervedouro', -20.7260000, -42.2790000), -(3126000, 31, 'Florestal', -19.8880000, -44.4318000), -(3126109, 31, 'Formiga', -20.4618000, -45.4268000), -(3126208, 31, 'Formoso', -14.9446000, -46.2371000), -(3126307, 31, 'Fortaleza de Minas', -20.8508000, -46.7120000), -(3126406, 31, 'Fortuna de Minas', -19.5578000, -44.4472000), -(3126505, 31, 'Francisco Badaró', -16.9883000, -42.3568000), -(3126604, 31, 'Francisco Dumont', -17.3107000, -44.2317000), -(3126703, 31, 'Francisco Sá', -16.4827000, -43.4896000), -(3126752, 31, 'Franciscópolis', -17.9578000, -42.0094000), -(3126802, 31, 'Frei Gaspar', -18.0709000, -41.4325000), -(3126901, 31, 'Frei Inocêncio', -18.5556000, -41.9121000), -(3126950, 31, 'Frei Lagonegro', -18.1751000, -42.7617000), -(3127008, 31, 'Fronteira', -20.2748000, -49.1984000), -(3127057, 31, 'Fronteira dos Vales', -16.8898000, -40.9230000), -(3127073, 31, 'Fruta de Leite', -16.1225000, -42.5288000), -(3127107, 31, 'Frutal', -20.0259000, -48.9355000), -(3127206, 31, 'Funilândia', -19.3661000, -44.0610000), -(3127305, 31, 'Galiléia', -19.0005000, -41.5387000), -(3127339, 31, 'Gameleiras', -15.0829000, -43.1250000), -(3127354, 31, 'Glaucilândia', -16.8481000, -43.6920000), -(3127370, 31, 'Goiabeira', -18.9807000, -41.2235000), -(3127388, 31, 'Goianá', -21.5360000, -43.1957000), -(3127404, 31, 'Gonçalves', -22.6545000, -45.8556000), -(3127503, 31, 'Gonzaga', -18.8196000, -42.4769000), -(3127602, 31, 'Gouveia', -18.4519000, -43.7423000), -(3127701, 31, 'Governador Valadares', -18.8545000, -41.9555000), -(3127800, 31, 'Grão Mogol', -16.5662000, -42.8923000), -(3127909, 31, 'Grupiara', -18.5003000, -47.7318000), -(3128006, 31, 'Guanhães', -18.7713000, -42.9312000), -(3128105, 31, 'Guapé', -20.7631000, -45.9152000), -(3128204, 31, 'Guaraciaba', -20.5716000, -43.0094000), -(3128253, 31, 'Guaraciama', -17.0142000, -43.6675000), -(3128303, 31, 'Guaranésia', -21.3009000, -46.7964000), -(3128402, 31, 'Guarani', -21.3563000, -43.0328000), -(3128501, 31, 'Guarará', -21.7304000, -43.0334000), -(3128600, 31, 'Guarda-Mor', -17.7673000, -47.0998000), -(3128709, 31, 'Guaxupé', -21.3050000, -46.7081000), -(3128808, 31, 'Guidoval', -21.1550000, -42.7887000), -(3128907, 31, 'Guimarânia', -18.8425000, -46.7901000), -(3129004, 31, 'Guiricema', -21.0098000, -42.7207000), -(3129103, 31, 'Gurinhatã', -19.2143000, -49.7876000), -(3129202, 31, 'Heliodora', -22.0644000, -45.5453000), -(3129301, 31, 'Iapu', -19.4387000, -42.2147000), -(3129400, 31, 'Ibertioga', -21.4330000, -43.9639000), -(3129509, 31, 'Ibiá', -19.4749000, -46.5474000), -(3129608, 31, 'Ibiaí', -16.8591000, -44.9046000), -(3129657, 31, 'Ibiracatu', -15.6605000, -44.1667000), -(3129707, 31, 'Ibiraci', -20.4611000, -47.1222000), -(3129806, 31, 'Ibirité', -20.0252000, -44.0569000), -(3129905, 31, 'Ibitiúra de Minas', -22.0604000, -46.4368000), -(3130002, 31, 'Ibituruna', -21.1541000, -44.7479000), -(3130051, 31, 'Icaraí de Minas', -16.2140000, -44.9034000), -(3130101, 31, 'Igarapé', -20.0707000, -44.2994000), -(3130200, 31, 'Igaratinga', -19.9476000, -44.7063000), -(3130309, 31, 'Iguatama', -20.1776000, -45.7111000), -(3130408, 31, 'Ijaci', -21.1738000, -44.9233000), -(3130507, 31, 'Ilicínea', -20.9402000, -45.8308000), -(3130556, 31, 'Imbé de Minas', -19.6017000, -41.9695000), -(3130606, 31, 'Inconfidentes', -22.3136000, -46.3264000), -(3130655, 31, 'Indaiabira', -15.4911000, -42.2005000), -(3130705, 31, 'Indianópolis', -19.0341000, -47.9155000), -(3130804, 31, 'Ingaí', -21.4024000, -44.9152000), -(3130903, 31, 'Inhapim', -19.5476000, -42.1147000), -(3131000, 31, 'Inhaúma', -19.4898000, -44.3934000), -(3131109, 31, 'Inimutaba', -18.7271000, -44.3584000), -(3131158, 31, 'Ipaba', -19.4158000, -42.4139000), -(3131208, 31, 'Ipanema', -19.7992000, -41.7164000), -(3131307, 31, 'Ipatinga', -19.4703000, -42.5476000), -(3131406, 31, 'Ipiaçu', -18.6927000, -49.9436000), -(3131505, 31, 'Ipuiúna', -22.1013000, -46.1915000), -(3131604, 31, 'Iraí de Minas', -18.9819000, -47.4610000), -(3131703, 31, 'Itabira', -19.6239000, -43.2312000), -(3131802, 31, 'Itabirinha', -18.5712000, -41.2340000), -(3131901, 31, 'Itabirito', -20.2501000, -43.8038000), -(3132008, 31, 'Itacambira', -17.0625000, -43.3069000), -(3132107, 31, 'Itacarambi', -15.0890000, -44.0950000), -(3132206, 31, 'Itaguara', -20.3947000, -44.4875000), -(3132305, 31, 'Itaipé', -17.4014000, -41.6697000), -(3132404, 31, 'Itajubá', -22.4225000, -45.4598000), -(3132503, 31, 'Itamarandiba', -17.8552000, -42.8561000), -(3132602, 31, 'Itamarati de Minas', -21.4179000, -42.8130000), -(3132701, 31, 'Itambacuri', -18.0350000, -41.6830000), -(3132800, 31, 'Itambé do Mato Dentro', -19.4158000, -43.3182000), -(3132909, 31, 'Itamogi', -21.0758000, -47.0460000), -(3133006, 31, 'Itamonte', -22.2859000, -44.8680000), -(3133105, 31, 'Itanhandu', -22.2942000, -44.9382000), -(3133204, 31, 'Itanhomi', -19.1736000, -41.8630000), -(3133303, 31, 'Itaobim', -16.5571000, -41.5017000), -(3133402, 31, 'Itapagipe', -19.9062000, -49.3781000), -(3133501, 31, 'Itapecerica', -20.4704000, -45.1270000), -(3133600, 31, 'Itapeva', -22.7665000, -46.2241000), -(3133709, 31, 'Itatiaiuçu', -20.1983000, -44.4211000), -(3133758, 31, 'Itaú de Minas', -20.7375000, -46.7525000), -(3133808, 31, 'Itaúna', -20.0818000, -44.5801000), -(3133907, 31, 'Itaverava', -20.6769000, -43.6141000), -(3134004, 31, 'Itinga', -16.6100000, -41.7672000), -(3134103, 31, 'Itueta', -19.3999000, -41.1746000), -(3134202, 31, 'Ituiutaba', -18.9772000, -49.4639000), -(3134301, 31, 'Itumirim', -21.3171000, -44.8724000), -(3134400, 31, 'Iturama', -19.7276000, -50.1966000), -(3134509, 31, 'Itutinga', -21.3000000, -44.6567000), -(3134608, 31, 'Jaboticatubas', -19.5119000, -43.7373000), -(3134707, 31, 'Jacinto', -16.1428000, -40.2950000), -(3134806, 31, 'Jacuí', -21.0137000, -46.7359000), -(3134905, 31, 'Jacutinga', -22.2860000, -46.6166000), -(3135001, 31, 'Jaguaraçu', -19.6470000, -42.7498000), -(3135050, 31, 'Jaíba', -15.3432000, -43.6688000), -(3135076, 31, 'Jampruca', -18.4610000, -41.8090000), -(3135100, 31, 'Janaúba', -15.8022000, -43.3132000), -(3135209, 31, 'Januária', -15.4802000, -44.3639000), -(3135308, 31, 'Japaraíba', -20.1442000, -45.5015000), -(3135357, 31, 'Japonvar', -15.9891000, -44.2758000), -(3135407, 31, 'Jeceaba', -20.5339000, -43.9894000), -(3135456, 31, 'Jenipapo de Minas', -17.0831000, -42.2589000), -(3135506, 31, 'Jequeri', -20.4542000, -42.6651000), -(3135605, 31, 'Jequitaí', -17.2290000, -44.4376000), -(3135704, 31, 'Jequitibá', -19.2345000, -44.0304000), -(3135803, 31, 'Jequitinhonha', -16.4375000, -41.0117000), -(3135902, 31, 'Jesuânia', -21.9887000, -45.2911000), -(3136009, 31, 'Joaíma', -16.6522000, -41.0229000), -(3136108, 31, 'Joanésia', -19.1729000, -42.6775000), -(3136207, 31, 'João Monlevade', -19.8126000, -43.1735000), -(3136306, 31, 'João Pinheiro', -17.7398000, -46.1715000), -(3136405, 31, 'Joaquim Felício', -17.7580000, -44.1643000), -(3136504, 31, 'Jordânia', -15.9009000, -40.1841000), -(3136520, 31, 'José Gonçalves de Minas', -16.9053000, -42.6014000), -(3136553, 31, 'José Raydan', -18.2195000, -42.4946000), -(3136579, 31, 'Josenópolis', -16.5417000, -42.5151000), -(3136603, 31, 'Nova União', -19.6876000, -43.5830000), -(3136652, 31, 'Juatuba', -19.9448000, -44.3451000), -(3136702, 31, 'Juiz de Fora', -21.7595000, -43.3398000), -(3136801, 31, 'Juramento', -16.8473000, -43.5865000), -(3136900, 31, 'Juruaia', -21.2493000, -46.5735000), -(3136959, 31, 'Juvenília', -14.2662000, -44.1597000), -(3137007, 31, 'Ladainha', -17.6279000, -41.7488000), -(3137106, 31, 'Lagamar', -18.1759000, -46.8063000), -(3137205, 31, 'Lagoa da Prata', -20.0237000, -45.5401000), -(3137304, 31, 'Lagoa dos Patos', -16.9780000, -44.5754000), -(3137403, 31, 'Lagoa Dourada', -20.9139000, -44.0797000), -(3137502, 31, 'Lagoa Formosa', -18.7715000, -46.4012000), -(3137536, 31, 'Lagoa Grande', -17.8323000, -46.5165000), -(3137601, 31, 'Lagoa Santa', -19.6397000, -43.8932000), -(3137700, 31, 'Lajinha', -20.1539000, -41.6228000), -(3137809, 31, 'Lambari', -21.9671000, -45.3498000), -(3137908, 31, 'Lamim', -20.7900000, -43.4706000), -(3138005, 31, 'Laranjal', -21.3715000, -42.4732000), -(3138104, 31, 'Lassance', -17.8870000, -44.5735000), -(3138203, 31, 'Lavras', -21.2480000, -45.0009000), -(3138302, 31, 'Leandro Ferreira', -19.7193000, -45.0279000), -(3138351, 31, 'Leme do Prado', -17.0793000, -42.6936000), -(3138401, 31, 'Leopoldina', -21.5296000, -42.6421000), -(3138500, 31, 'Liberdade', -22.0275000, -44.3208000), -(3138609, 31, 'Lima Duarte', -21.8386000, -43.7934000), -(3138625, 31, 'Limeira do Oeste', -19.5512000, -50.5815000), -(3138658, 31, 'Lontra', -15.9013000, -44.3060000), -(3138674, 31, 'Luisburgo', -20.4468000, -42.0976000), -(3138682, 31, 'Luislândia', -16.1095000, -44.5886000), -(3138708, 31, 'Luminárias', -21.5145000, -44.9034000), -(3138807, 31, 'Luz', -19.7911000, -45.6794000), -(3138906, 31, 'Machacalis', -17.0723000, -40.7245000), -(3139003, 31, 'Machado', -21.6778000, -45.9219000), -(3139102, 31, 'Madre de Deus de Minas', -21.4830000, -44.3287000), -(3139201, 31, 'Malacacheta', -17.8456000, -42.0769000), -(3139250, 31, 'Mamonas', -15.0479000, -42.9469000), -(3139300, 31, 'Manga', -14.7529000, -43.9391000), -(3139409, 31, 'Manhuaçu', -20.2572000, -42.0280000), -(3139508, 31, 'Manhumirim', -20.3591000, -41.9589000), -(3139607, 31, 'Mantena', -18.7761000, -40.9874000), -(3139706, 31, 'Maravilhas', -19.5076000, -44.6779000), -(3139805, 31, 'Mar de Espanha', -21.8707000, -43.0062000), -(3139904, 31, 'Maria da Fé', -22.3044000, -45.3773000), -(3140001, 31, 'Mariana', -20.3765000, -43.4140000), -(3140100, 31, 'Marilac', -18.5079000, -42.0822000), -(3140159, 31, 'Mário Campos', -20.0582000, -44.1883000), -(3140209, 31, 'Maripá de Minas', -21.6979000, -42.9546000), -(3140308, 31, 'Marliéria', -19.7096000, -42.7327000), -(3140407, 31, 'Marmelópolis', -22.4470000, -45.1645000), -(3140506, 31, 'Martinho Campos', -19.3306000, -45.2434000), -(3140530, 31, 'Martins Soares', -20.2546000, -41.8786000), -(3140555, 31, 'Mata Verde', -15.6869000, -40.7366000), -(3140605, 31, 'Materlândia', -18.4699000, -43.0579000), -(3140704, 31, 'Mateus Leme', -19.9794000, -44.4318000), -(3140803, 31, 'Matias Barbosa', -21.8690000, -43.3135000), -(3140852, 31, 'Matias Cardoso', -14.8563000, -43.9146000), -(3140902, 31, 'Matipó', -20.2873000, -42.3401000), -(3141009, 31, 'Mato Verde', -15.3944000, -42.8600000), -(3141108, 31, 'Matozinhos', -19.5543000, -44.0868000), -(3141207, 31, 'Matutina', -19.2179000, -45.9664000), -(3141306, 31, 'Medeiros', -19.9865000, -46.2181000), -(3141405, 31, 'Medina', -16.2245000, -41.4728000), -(3141504, 31, 'Mendes Pimentel', -18.6631000, -41.4052000), -(3141603, 31, 'Mercês', -21.1976000, -43.3337000), -(3141702, 31, 'Mesquita', -19.2240000, -42.6079000), -(3141801, 31, 'Minas Novas', -17.2156000, -42.5884000), -(3141900, 31, 'Minduri', -21.6797000, -44.6051000), -(3142007, 31, 'Mirabela', -16.2560000, -44.1602000), -(3142106, 31, 'Miradouro', -20.8899000, -42.3458000), -(3142205, 31, 'Miraí', -21.2021000, -42.6122000), -(3142254, 31, 'Miravânia', -14.7348000, -44.4092000), -(3142304, 31, 'Moeda', -20.3399000, -44.0509000), -(3142403, 31, 'Moema', -19.8387000, -45.4127000), -(3142502, 31, 'Monjolos', -18.3245000, -44.1180000), -(3142601, 31, 'Monsenhor Paulo', -21.7579000, -45.5391000), -(3142700, 31, 'Montalvânia', -14.4197000, -44.3719000), -(3142809, 31, 'Monte Alegre de Minas', -18.8690000, -48.8810000), -(3142908, 31, 'Monte Azul', -15.1514000, -42.8718000), -(3143005, 31, 'Monte Belo', -21.3271000, -46.3635000), -(3143104, 31, 'Monte Carmelo', -18.7302000, -47.4912000), -(3143153, 31, 'Monte Formoso', -16.8691000, -41.2473000), -(3143203, 31, 'Monte Santo de Minas', -21.1873000, -46.9753000), -(3143302, 31, 'Montes Claros', -16.7282000, -43.8578000), -(3143401, 31, 'Monte Sião', -22.4335000, -46.5730000), -(3143450, 31, 'Montezuma', -15.1702000, -42.4941000), -(3143500, 31, 'Morada Nova de Minas', -18.5998000, -45.3584000), -(3143609, 31, 'Morro da Garça', -18.5356000, -44.6010000), -(3143708, 31, 'Morro do Pilar', -19.2236000, -43.3795000), -(3143807, 31, 'Munhoz', -22.6092000, -46.3620000), -(3143906, 31, 'Muriaé', -21.1300000, -42.3693000), -(3144003, 31, 'Mutum', -19.8121000, -41.4407000), -(3144102, 31, 'Muzambinho', -21.3692000, -46.5213000), -(3144201, 31, 'Nacip Raydan', -18.4544000, -42.2481000), -(3144300, 31, 'Nanuque', -17.8481000, -40.3533000), -(3144359, 31, 'Naque', -19.2291000, -42.3312000), -(3144375, 31, 'Natalândia', -16.5021000, -46.4874000), -(3144409, 31, 'Natércia', -22.1158000, -45.5123000), -(3144508, 31, 'Nazareno', -21.2168000, -44.6138000), -(3144607, 31, 'Nepomuceno', -21.2324000, -45.2350000), -(3144656, 31, 'Ninheira', -15.3148000, -41.7564000), -(3144672, 31, 'Nova Belém', -18.4925000, -41.1107000), -(3144706, 31, 'Nova Era', -19.7577000, -43.0333000), -(3144805, 31, 'Nova Lima', -19.9758000, -43.8509000), -(3144904, 31, 'Nova Módica', -18.4417000, -41.4984000), -(3145000, 31, 'Nova Ponte', -19.1461000, -47.6779000), -(3145059, 31, 'Nova Porteirinha', -15.7993000, -43.2941000), -(3145109, 31, 'Nova Resende', -21.1286000, -46.4157000), -(3145208, 31, 'Nova Serrana', -19.8713000, -44.9847000), -(3145307, 31, 'Novo Cruzeiro', -17.4654000, -41.8826000), -(3145356, 31, 'Novo Oriente de Minas', -17.4089000, -41.2194000), -(3145372, 31, 'Novorizonte', -16.0162000, -42.4044000), -(3145406, 31, 'Olaria', -21.8598000, -43.9356000), -(3145455, 31, "Olhos d'Água", -17.3982000, -43.5719000), -(3145505, 31, 'Olímpio Noronha', -22.0685000, -45.2657000), -(3145604, 31, 'Oliveira', -20.6982000, -44.8290000), -(3145703, 31, 'Oliveira Fortes', -21.3401000, -43.4499000), -(3145802, 31, 'Onça de Pitangui', -19.7276000, -44.8058000), -(3145851, 31, 'Oratórios', -20.4298000, -42.7977000), -(3145877, 31, 'Orizânia', -20.5142000, -42.1991000), -(3145901, 31, 'Ouro Branco', -20.5263000, -43.6962000), -(3146008, 31, 'Ouro Fino', -22.2779000, -46.3716000), -(3146107, 31, 'Ouro Preto', -20.3796000, -43.5120000), -(3146206, 31, 'Ouro Verde de Minas', -18.0719000, -41.2734000), -(3146255, 31, 'Padre Carvalho', -16.3646000, -42.5088000), -(3146305, 31, 'Padre Paraíso', -17.0758000, -41.4821000), -(3146404, 31, 'Paineiras', -18.8993000, -45.5321000), -(3146503, 31, 'Pains', -20.3705000, -45.6627000), -(3146552, 31, 'Pai Pedro', -15.5271000, -43.0700000), -(3146602, 31, 'Paiva', -21.2913000, -43.4088000), -(3146701, 31, 'Palma', -21.3748000, -42.3123000), -(3146750, 31, 'Palmópolis', -16.7364000, -40.4296000), -(3146909, 31, 'Papagaios', -19.4419000, -44.7468000), -(3147006, 31, 'Paracatu', -17.2252000, -46.8711000), -(3147105, 31, 'Pará de Minas', -19.8534000, -44.6114000), -(3147204, 31, 'Paraguaçu', -21.5465000, -45.7374000), -(3147303, 31, 'Paraisópolis', -22.5539000, -45.7803000), -(3147402, 31, 'Paraopeba', -19.2732000, -44.4044000), -(3147501, 31, 'Passabém', -19.3509000, -43.1383000), -(3147600, 31, 'Passa Quatro', -22.3871000, -44.9709000), -(3147709, 31, 'Passa Tempo', -20.6539000, -44.4926000), -(3147808, 31, 'Passa-Vinte', -22.2097000, -44.2344000), -(3147907, 31, 'Passos', -20.7193000, -46.6090000), -(3147956, 31, 'Patis', -16.0773000, -44.0787000), -(3148004, 31, 'Patos de Minas', -18.5699000, -46.5013000), -(3148103, 31, 'Patrocínio', -18.9379000, -46.9934000), -(3148202, 31, 'Patrocínio do Muriaé', -21.1544000, -42.2125000), -(3148301, 31, 'Paula Cândido', -20.8754000, -42.9752000), -(3148400, 31, 'Paulistas', -18.4276000, -42.8628000), -(3148509, 31, 'Pavão', -17.4267000, -41.0035000), -(3148608, 31, 'Peçanha', -18.5441000, -42.5583000), -(3148707, 31, 'Pedra Azul', -16.0086000, -41.2909000), -(3148756, 31, 'Pedra Bonita', -20.5219000, -42.3304000), -(3148806, 31, 'Pedra do Anta', -20.5968000, -42.7123000), -(3148905, 31, 'Pedra do Indaiá', -20.2563000, -45.2107000), -(3149002, 31, 'Pedra Dourada', -20.8266000, -42.1515000), -(3149101, 31, 'Pedralva', -22.2386000, -45.4654000), -(3149150, 31, 'Pedras de Maria da Cruz', -15.6032000, -44.3910000), -(3149200, 31, 'Pedrinópolis', -19.2241000, -47.4579000), -(3149309, 31, 'Pedro Leopoldo', -19.6308000, -44.0383000), -(3149408, 31, 'Pedro Teixeira', -21.7076000, -43.7430000), -(3149507, 31, 'Pequeri', -21.8341000, -43.1145000), -(3149606, 31, 'Pequi', -19.6284000, -44.6604000), -(3149705, 31, 'Perdigão', -19.9411000, -45.0780000), -(3149804, 31, 'Perdizes', -19.3434000, -47.2963000), -(3149903, 31, 'Perdões', -21.0932000, -45.0896000), -(3149952, 31, 'Periquito', -19.1573000, -42.2333000), -(3150000, 31, 'Pescador', -18.3570000, -41.6006000), -(3150109, 31, 'Piau', -21.5096000, -43.3130000), -(3150158, 31, 'Piedade de Caratinga', -19.7593000, -42.0756000), -(3150208, 31, 'Piedade de Ponte Nova', -20.2438000, -42.7379000), -(3150307, 31, 'Piedade do Rio Grande', -21.4690000, -44.1938000), -(3150406, 31, 'Piedade dos Gerais', -20.4715000, -44.2243000), -(3150505, 31, 'Pimenta', -20.4827000, -45.8049000), -(3150539, 31, "Pingo-d'Água", -19.7287000, -42.4095000), -(3150570, 31, 'Pintópolis', -16.0572000, -45.1402000), -(3150604, 31, 'Piracema', -20.5089000, -44.4783000), -(3150703, 31, 'Pirajuba', -19.9092000, -48.7027000), -(3150802, 31, 'Piranga', -20.6834000, -43.2967000), -(3150901, 31, 'Piranguçu', -22.5249000, -45.4945000), -(3151008, 31, 'Piranguinho', -22.3950000, -45.5324000), -(3151107, 31, 'Pirapetinga', -21.6554000, -42.3434000), -(3151206, 31, 'Pirapora', -17.3392000, -44.9340000), -(3151305, 31, 'Piraúba', -21.2825000, -43.0172000), -(3151404, 31, 'Pitangui', -19.6741000, -44.8964000), -(3151503, 31, 'Piumhi', -20.4762000, -45.9589000), -(3151602, 31, 'Planura', -20.1376000, -48.7000000), -(3151701, 31, 'Poço Fundo', -21.7800000, -45.9658000), -(3151800, 31, 'Poços de Caldas', -21.7800000, -46.5692000), -(3151909, 31, 'Pocrane', -19.6208000, -41.6334000), -(3152006, 31, 'Pompéu', -19.2257000, -45.0141000), -(3152105, 31, 'Ponte Nova', -20.4111000, -42.8978000), -(3152131, 31, 'Ponto Chique', -16.6282000, -45.0588000), -(3152170, 31, 'Ponto dos Volantes', -16.7473000, -41.5025000), -(3152204, 31, 'Porteirinha', -15.7404000, -43.0281000), -(3152303, 31, 'Porto Firme', -20.6642000, -43.0834000), -(3152402, 31, 'Poté', -17.8077000, -41.7860000), -(3152501, 31, 'Pouso Alegre', -22.2266000, -45.9389000), -(3152600, 31, 'Pouso Alto', -22.1964000, -44.9748000), -(3152709, 31, 'Prados', -21.0597000, -44.0778000), -(3152808, 31, 'Prata', -19.3086000, -48.9276000), -(3152907, 31, 'Pratápolis', -20.7411000, -46.8624000), -(3153004, 31, 'Pratinha', -19.7390000, -46.3755000), -(3153103, 31, 'Presidente Bernardes', -20.7656000, -43.1895000), -(3153202, 31, 'Presidente Juscelino', -18.6401000, -44.0600000), -(3153301, 31, 'Presidente Kubitschek', -18.6193000, -43.5628000), -(3153400, 31, 'Presidente Olegário', -18.4096000, -46.4165000), -(3153509, 31, 'Alto Jequitibá', -20.4208000, -41.9670000), -(3153608, 31, 'Prudente de Morais', -19.4742000, -44.1591000), -(3153707, 31, 'Quartel Geral', -19.2703000, -45.5569000), -(3153806, 31, 'Queluzito', -20.7416000, -43.8851000), -(3153905, 31, 'Raposos', -19.9636000, -43.8079000), -(3154002, 31, 'Raul Soares', -20.1061000, -42.4502000), -(3154101, 31, 'Recreio', -21.5289000, -42.4676000), -(3154150, 31, 'Reduto', -20.2401000, -41.9848000), -(3154200, 31, 'Resende Costa', -20.9171000, -44.2407000), -(3154309, 31, 'Resplendor', -19.3194000, -41.2462000), -(3154408, 31, 'Ressaquinha', -21.0642000, -43.7598000), -(3154457, 31, 'Riachinho', -16.2258000, -45.9888000), -(3154507, 31, 'Riacho dos Machados', -16.0091000, -43.0488000), -(3154606, 31, 'Ribeirão das Neves', -19.7621000, -44.0844000), -(3154705, 31, 'Ribeirão Vermelho', -21.1879000, -45.0637000), -(3154804, 31, 'Rio Acima', -20.0876000, -43.7878000), -(3154903, 31, 'Rio Casca', -20.2285000, -42.6462000), -(3155009, 31, 'Rio Doce', -20.2412000, -42.8995000), -(3155108, 31, 'Rio do Prado', -16.6056000, -40.5714000), -(3155207, 31, 'Rio Espera', -20.8550000, -43.4721000), -(3155306, 31, 'Rio Manso', -20.2666000, -44.3069000), -(3155405, 31, 'Rio Novo', -21.4649000, -43.1168000), -(3155504, 31, 'Rio Paranaíba', -19.1861000, -46.2455000), -(3155603, 31, 'Rio Pardo de Minas', -15.6160000, -42.5405000), -(3155702, 31, 'Rio Piracicaba', -19.9284000, -43.1829000), -(3155801, 31, 'Rio Pomba', -21.2712000, -43.1696000), -(3155900, 31, 'Rio Preto', -22.0861000, -43.8293000), -(3156007, 31, 'Rio Vermelho', -18.2922000, -43.0018000), -(3156106, 31, 'Ritápolis', -21.0276000, -44.3204000), -(3156205, 31, 'Rochedo de Minas', -21.6284000, -43.0165000), -(3156304, 31, 'Rodeiro', -21.2035000, -42.8586000), -(3156403, 31, 'Romaria', -18.8838000, -47.5782000), -(3156452, 31, 'Rosário da Limeira', -20.9812000, -42.5112000), -(3156502, 31, 'Rubelita', -16.4053000, -42.2610000), -(3156601, 31, 'Rubim', -16.3775000, -40.5397000), -(3156700, 31, 'Sabará', -19.8840000, -43.8263000), -(3156809, 31, 'Sabinópolis', -18.6653000, -43.0752000), -(3156908, 31, 'Sacramento', -19.8622000, -47.4508000), -(3157005, 31, 'Salinas', -16.1753000, -42.2964000), -(3157104, 31, 'Salto da Divisa', -16.0063000, -39.9391000), -(3157203, 31, 'Santa Bárbara', -19.9604000, -43.4101000), -(3157252, 31, 'Santa Bárbara do Leste', -19.9753000, -42.1457000), -(3157278, 31, 'Santa Bárbara do Monte Verde', -21.9592000, -43.7027000), -(3157302, 31, 'Santa Bárbara do Tugúrio', -21.2431000, -43.5607000), -(3157336, 31, 'Santa Cruz de Minas', -21.1241000, -44.2202000), -(3157377, 31, 'Santa Cruz de Salinas', -16.0967000, -41.7418000), -(3157401, 31, 'Santa Cruz do Escalvado', -20.2372000, -42.8169000), -(3157500, 31, 'Santa Efigênia de Minas', -18.8235000, -42.4388000), -(3157609, 31, 'Santa Fé de Minas', -16.6859000, -45.4102000), -(3157658, 31, 'Santa Helena de Minas', -16.9707000, -40.6727000), -(3157708, 31, 'Santa Juliana', -19.3108000, -47.5322000), -(3157807, 31, 'Santa Luzia', -19.7548000, -43.8497000), -(3157906, 31, 'Santa Margarida', -20.3839000, -42.2519000), -(3158003, 31, 'Santa Maria de Itabira', -19.4431000, -43.1064000), -(3158102, 31, 'Santa Maria do Salto', -16.2479000, -40.1512000), -(3158201, 31, 'Santa Maria do Suaçuí', -18.1896000, -42.4139000), -(3158300, 31, 'Santana da Vargem', -21.2449000, -45.5005000), -(3158409, 31, 'Santana de Cataguases', -21.2893000, -42.5524000), -(3158508, 31, 'Santana de Pirapama', -18.9962000, -44.0409000), -(3158607, 31, 'Santana do Deserto', -21.9512000, -43.1583000), -(3158706, 31, 'Santana do Garambéu', -21.5983000, -44.1050000), -(3158805, 31, 'Santana do Jacaré', -20.9007000, -45.1285000), -(3158904, 31, 'Santana do Manhuaçu', -20.1031000, -41.9278000), -(3158953, 31, 'Santana do Paraíso', -19.3661000, -42.5446000), -(3159001, 31, 'Santana do Riacho', -19.1662000, -43.7220000), -(3159100, 31, 'Santana dos Montes', -20.7868000, -43.6949000), -(3159209, 31, 'Santa Rita de Caldas', -22.0292000, -46.3385000), -(3159308, 31, 'Santa Rita de Jacutinga', -22.1474000, -44.0977000), -(3159357, 31, 'Santa Rita de Minas', -19.8760000, -42.1363000), -(3159407, 31, 'Santa Rita de Ibitipoca', -21.5658000, -43.9163000), -(3159506, 31, 'Santa Rita do Itueto', -19.3576000, -41.3821000), -(3159605, 31, 'Santa Rita do Sapucaí', -22.2461000, -45.7034000), -(3159704, 31, 'Santa Rosa da Serra', -19.5186000, -45.9611000), -(3159803, 31, 'Santa Vitória', -18.8414000, -50.1208000), -(3159902, 31, 'Santo Antônio do Amparo', -20.9430000, -44.9176000), -(3160009, 31, 'Santo Antônio do Aventureiro', -21.7606000, -42.8115000), -(3160108, 31, 'Santo Antônio do Grama', -20.3185000, -42.6047000), -(3160207, 31, 'Santo Antônio do Itambé', -18.4609000, -43.3006000), -(3160306, 31, 'Santo Antônio do Jacinto', -16.5332000, -40.1817000), -(3160405, 31, 'Santo Antônio do Monte', -20.0850000, -45.2947000), -(3160454, 31, 'Santo Antônio do Retiro', -15.3393000, -42.6171000), -(3160504, 31, 'Santo Antônio do Rio Abaixo', -19.2374000, -43.2604000), -(3160603, 31, 'Santo Hipólito', -18.2968000, -44.2229000), -(3160702, 31, 'Santos Dumont', -21.4634000, -43.5499000), -(3160801, 31, 'São Bento Abade', -21.5839000, -45.0699000), -(3160900, 31, 'São Brás do Suaçuí', -20.6242000, -43.9515000), -(3160959, 31, 'São Domingos das Dores', -19.5246000, -42.0106000), -(3161007, 31, 'São Domingos do Prata', -19.8678000, -42.9710000), -(3161056, 31, 'São Félix de Minas', -18.5959000, -41.4889000), -(3161106, 31, 'São Francisco', -15.9514000, -44.8593000), -(3161205, 31, 'São Francisco de Paula', -20.7036000, -44.9838000), -(3161304, 31, 'São Francisco de Sales', -19.8611000, -49.7727000), -(3161403, 31, 'São Francisco do Glória', -20.7923000, -42.2673000), -(3161502, 31, 'São Geraldo', -20.9252000, -42.8364000), -(3161601, 31, 'São Geraldo da Piedade', -18.8411000, -42.2867000), -(3161650, 31, 'São Geraldo do Baixio', -18.9097000, -41.3630000), -(3161700, 31, 'São Gonçalo do Abaeté', -18.3315000, -45.8265000), -(3161809, 31, 'São Gonçalo do Pará', -19.9822000, -44.8593000), -(3161908, 31, 'São Gonçalo do Rio Abaixo', -19.8221000, -43.3660000), -(3162005, 31, 'São Gonçalo do Sapucaí', -21.8932000, -45.5893000), -(3162104, 31, 'São Gotardo', -19.3087000, -46.0465000), -(3162203, 31, 'São João Batista do Glória', -20.6350000, -46.5080000), -(3162252, 31, 'São João da Lagoa', -16.8455000, -44.3507000), -(3162302, 31, 'São João da Mata', -21.9280000, -45.9297000), -(3162401, 31, 'São João da Ponte', -15.9271000, -44.0096000), -(3162450, 31, 'São João das Missões', -14.8859000, -44.0922000), -(3162500, 31, 'São João del Rei', -21.1311000, -44.2526000), -(3162559, 31, 'São João do Manhuaçu', -20.3933000, -42.1533000), -(3162575, 31, 'São João do Manteninha', -18.7230000, -41.1628000), -(3162609, 31, 'São João do Oriente', -19.3384000, -42.1575000), -(3162658, 31, 'São João do Pacuí', -16.5373000, -44.5134000), -(3162708, 31, 'São João do Paraíso', -15.3168000, -42.0213000), -(3162807, 31, 'São João Evangelista', -18.5480000, -42.7655000), -(3162906, 31, 'São João Nepomuceno', -21.5381000, -43.0069000), -(3162922, 31, 'São Joaquim de Bicas', -20.0480000, -44.2749000), -(3162948, 31, 'São José da Barra', -20.7178000, -46.3130000), -(3162955, 31, 'São José da Lapa', -19.6971000, -43.9586000), -(3163003, 31, 'São José da Safira', -18.3243000, -42.1431000), -(3163102, 31, 'São José da Varginha', -19.7006000, -44.5560000), -(3163201, 31, 'São José do Alegre', -22.3243000, -45.5258000), -(3163300, 31, 'São José do Divino', -18.4793000, -41.3907000), -(3163409, 31, 'São José do Goiabal', -19.9214000, -42.7035000), -(3163508, 31, 'São José do Jacuri', -18.2810000, -42.6729000), -(3163607, 31, 'São José do Mantimento', -20.0058000, -41.7486000), -(3163706, 31, 'São Lourenço', -22.1166000, -45.0506000), -(3163805, 31, 'São Miguel do Anta', -20.7067000, -42.7174000), -(3163904, 31, 'São Pedro da União', -21.1310000, -46.6123000), -(3164001, 31, 'São Pedro dos Ferros', -20.1732000, -42.5251000), -(3164100, 31, 'São Pedro do Suaçuí', -18.3609000, -42.5981000), -(3164209, 31, 'São Romão', -16.3641000, -45.0749000), -(3164308, 31, 'São Roque de Minas', -20.2490000, -46.3639000), -(3164407, 31, 'São Sebastião da Bela Vista', -22.1583000, -45.7546000), -(3164431, 31, 'São Sebastião da Vargem Alegre', -19.7477000, -43.3679000), -(3164472, 31, 'São Sebastião do Anta', -19.5064000, -41.9850000), -(3164506, 31, 'São Sebastião do Maranhão', -18.0873000, -42.5659000), -(3164605, 31, 'São Sebastião do Oeste', -20.2758000, -45.0063000), -(3164704, 31, 'São Sebastião do Paraíso', -20.9167000, -46.9837000), -(3164803, 31, 'São Sebastião do Rio Preto', -19.2959000, -43.1757000), -(3164902, 31, 'São Sebastião do Rio Verde', -22.2183000, -44.9761000), -(3165008, 31, 'São Tiago', -20.9075000, -44.5098000), -(3165107, 31, 'São Tomás de Aquino', -20.7791000, -47.0962000), -(3165206, 31, 'São Thomé das Letras', -21.7218000, -44.9849000), -(3165305, 31, 'São Vicente de Minas', -21.7042000, -44.4431000), -(3165404, 31, 'Sapucaí-Mirim', -22.7409000, -45.7380000), -(3165503, 31, 'Sardoá', -18.7828000, -42.3629000), -(3165537, 31, 'Sarzedo', -20.0367000, -44.1446000), -(3165552, 31, 'Setubinha', -17.6002000, -42.1587000), -(3165560, 31, 'Sem-Peixe', -20.1008000, -42.8483000), -(3165578, 31, 'Senador Amaral', -22.5869000, -46.1763000), -(3165602, 31, 'Senador Cortes', -21.7986000, -42.9424000), -(3165701, 31, 'Senador Firmino', -20.9158000, -43.0904000), -(3165800, 31, 'Senador José Bento', -22.1633000, -46.1792000), -(3165909, 31, 'Senador Modestino Gonçalves', -17.9465000, -43.2172000), -(3166006, 31, 'Senhora de Oliveira', -20.7972000, -43.3394000), -(3166105, 31, 'Senhora do Porto', -18.8909000, -43.0799000), -(3166204, 31, 'Senhora dos Remédios', -21.0351000, -43.5812000), -(3166303, 31, 'Sericita', -20.4748000, -42.4828000), -(3166402, 31, 'Seritinga', -21.9134000, -44.5180000), -(3166501, 31, 'Serra Azul de Minas', -18.3602000, -43.1675000), -(3166600, 31, 'Serra da Saudade', -19.4447000, -45.7950000), -(3166709, 31, 'Serra dos Aimorés', -17.7872000, -40.2453000), -(3166808, 31, 'Serra do Salitre', -19.1083000, -46.6961000), -(3166907, 31, 'Serrania', -21.5441000, -46.0417000), -(3166956, 31, 'Serranópolis de Minas', -15.8176000, -42.8732000), -(3167004, 31, 'Serranos', -21.8857000, -44.5125000), -(3167103, 31, 'Serro', -18.5991000, -43.3744000), -(3167202, 31, 'Sete Lagoas', -19.4569000, -44.2413000), -(3167301, 31, 'Silveirânia', -21.1615000, -43.2128000), -(3167400, 31, 'Silvianópolis', -22.0274000, -45.8385000), -(3167509, 31, 'Simão Pereira', -21.9640000, -43.3088000), -(3167608, 31, 'Simonésia', -20.1341000, -42.0091000), -(3167707, 31, 'Sobrália', -19.2345000, -42.0998000), -(3167806, 31, 'Soledade de Minas', -22.0554000, -45.0464000), -(3167905, 31, 'Tabuleiro', -21.3632000, -43.2381000), -(3168002, 31, 'Taiobeiras', -15.8106000, -42.2259000), -(3168051, 31, 'Taparuba', -19.7621000, -41.6080000), -(3168101, 31, 'Tapira', -19.9166000, -46.8264000), -(3168200, 31, 'Tapiraí', -19.8936000, -46.0221000), -(3168309, 31, 'Taquaraçu de Minas', -19.6652000, -43.6922000), -(3168408, 31, 'Tarumirim', -19.2835000, -42.0097000), -(3168507, 31, 'Teixeiras', -20.6561000, -42.8564000), -(3168606, 31, 'Teófilo Otoni', -17.8595000, -41.5087000), -(3168705, 31, 'Timóteo', -19.5811000, -42.6471000), -(3168804, 31, 'Tiradentes', -21.1102000, -44.1744000), -(3168903, 31, 'Tiros', -19.0037000, -45.9626000), -(3169000, 31, 'Tocantins', -21.1774000, -43.0127000), -(3169059, 31, 'Tocos do Moji', -22.3698000, -46.0971000), -(3169109, 31, 'Toledo', -22.7421000, -46.3728000), -(3169208, 31, 'Tombos', -20.9086000, -42.0228000), -(3169307, 31, 'Três Corações', -21.6921000, -45.2511000), -(3169356, 31, 'Três Marias', -18.2048000, -45.2473000), -(3169406, 31, 'Três Pontas', -21.3694000, -45.5109000), -(3169505, 31, 'Tumiritinga', -18.9844000, -41.6527000), -(3169604, 31, 'Tupaciguara', -18.5866000, -48.6985000), -(3169703, 31, 'Turmalina', -17.2828000, -42.7285000), -(3169802, 31, 'Turvolândia', -21.8733000, -45.7859000), -(3169901, 31, 'Ubá', -21.1204000, -42.9359000), -(3170008, 31, 'Ubaí', -16.2885000, -44.7783000), -(3170057, 31, 'Ubaporanga', -19.6351000, -42.1059000), -(3170107, 31, 'Uberaba', -19.7472000, -47.9381000), -(3170206, 31, 'Uberlândia', -18.9141000, -48.2749000), -(3170305, 31, 'Umburatiba', -17.2548000, -40.5779000), -(3170404, 31, 'Unaí', -16.3592000, -46.9022000), -(3170438, 31, 'União de Minas', -19.5299000, -50.3380000), -(3170479, 31, 'Uruana de Minas', -16.0634000, -46.2443000), -(3170503, 31, 'Urucânia', -20.3521000, -42.7370000), -(3170529, 31, 'Urucuia', -16.1244000, -45.7352000), -(3170578, 31, 'Vargem Alegre', -19.5988000, -42.2949000), -(3170602, 31, 'Vargem Bonita', -20.3333000, -46.3688000), -(3170651, 31, 'Vargem Grande do Rio Pardo', -15.3987000, -42.3085000), -(3170701, 31, 'Varginha', -21.5556000, -45.4364000), -(3170750, 31, 'Varjão de Minas', -18.3741000, -46.0313000), -(3170800, 31, 'Várzea da Palma', -17.5944000, -44.7226000), -(3170909, 31, 'Varzelândia', -15.6992000, -44.0278000), -(3171006, 31, 'Vazante', -17.9827000, -46.9088000), -(3171030, 31, 'Verdelândia', -15.5845000, -43.6121000), -(3171071, 31, 'Veredinha', -17.3974000, -42.7307000), -(3171105, 31, 'Veríssimo', -19.6657000, -48.3118000), -(3171154, 31, 'Vermelho Novo', -20.0406000, -42.2688000), -(3171204, 31, 'Vespasiano', -19.6883000, -43.9239000), -(3171303, 31, 'Viçosa', -20.7559000, -42.8742000), -(3171402, 31, 'Vieiras', -20.8670000, -42.2401000), -(3171501, 31, 'Mathias Lobato', -18.5900000, -41.9166000), -(3171600, 31, 'Virgem da Lapa', -16.8070000, -42.3431000), -(3171709, 31, 'Virgínia', -22.3264000, -45.0965000), -(3171808, 31, 'Virginópolis', -18.8154000, -42.7015000), -(3171907, 31, 'Virgolândia', -18.4738000, -42.3067000), -(3172004, 31, 'Visconde do Rio Branco', -21.0127000, -42.8361000), -(3172103, 31, 'Volta Grande', -21.7671000, -42.5375000), -(3172202, 31, 'Wenceslau Braz', -22.5368000, -45.3626000), -(3200102, 32, 'Afonso Cláudio', -20.0778000, -41.1261000), -(3200136, 32, 'Águia Branca', -18.9846000, -40.7437000), -(3200169, 32, 'Água Doce do Norte', -18.5482000, -40.9854000), -(3200201, 32, 'Alegre', -20.7580000, -41.5382000), -(3200300, 32, 'Alfredo Chaves', -20.6396000, -40.7543000), -(3200359, 32, 'Alto Rio Novo', -19.0618000, -41.0209000), -(3200409, 32, 'Anchieta', -20.7955000, -40.6425000), -(3200508, 32, 'Apiacá', -21.1523000, -41.5693000), -(3200607, 32, 'Aracruz', -19.8200000, -40.2764000), -(3200706, 32, 'Atilio Vivacqua', -20.9130000, -41.1986000), -(3200805, 32, 'Baixo Guandu', -19.5213000, -41.0109000), -(3200904, 32, 'Barra de São Francisco', -18.7548000, -40.8965000), -(3201001, 32, 'Boa Esperança', -18.5395000, -40.3025000), -(3201100, 32, 'Bom Jesus do Norte', -21.1173000, -41.6731000), -(3201159, 32, 'Brejetuba', -20.1395000, -41.2954000), -(3201209, 32, 'Cachoeiro de Itapemirim', -20.8462000, -41.1198000), -(3201308, 32, 'Cariacica', -20.2632000, -40.4165000), -(3201407, 32, 'Castelo', -20.6033000, -41.2031000), -(3201506, 32, 'Colatina', -19.5493000, -40.6269000), -(3201605, 32, 'Conceição da Barra', -18.5883000, -39.7362000), -(3201704, 32, 'Conceição do Castelo', -20.3639000, -41.2417000), -(3201803, 32, 'Divino de São Lourenço', -20.6229000, -41.6937000), -(3201902, 32, 'Domingos Martins', -20.3603000, -40.6594000), -(3202009, 32, 'Dores do Rio Preto', -20.6931000, -41.8405000), -(3202108, 32, 'Ecoporanga', -18.3702000, -40.8360000), -(3202207, 32, 'Fundão', -19.9370000, -40.4078000), -(3202256, 32, 'Governador Lindenberg', -19.1864000, -40.4473000), -(3202306, 32, 'Guaçuí', -20.7668000, -41.6734000), -(3202405, 32, 'Guarapari', -20.6772000, -40.5093000), -(3202454, 32, 'Ibatiba', -20.2347000, -41.5087000), -(3202504, 32, 'Ibiraçu', -19.8366000, -40.3732000), -(3202553, 32, 'Ibitirama', -20.5466000, -41.6667000), -(3202603, 32, 'Iconha', -20.7913000, -40.8132000), -(3202652, 32, 'Irupi', -20.3501000, -41.6444000), -(3202702, 32, 'Itaguaçu', -19.8018000, -40.8601000), -(3202801, 32, 'Itapemirim', -21.0095000, -40.8307000), -(3202900, 32, 'Itarana', -19.8750000, -40.8753000), -(3203007, 32, 'Iúna', -20.3531000, -41.5334000), -(3203056, 32, 'Jaguaré', -18.9070000, -40.0759000), -(3203106, 32, 'Jerônimo Monteiro', -20.7994000, -41.3948000), -(3203130, 32, 'João Neiva', -19.7577000, -40.3860000), -(3203163, 32, 'Laranja da Terra', -19.8994000, -41.0621000), -(3203205, 32, 'Linhares', -19.3946000, -40.0643000), -(3203304, 32, 'Mantenópolis', -18.8594000, -41.1240000), -(3203320, 32, 'Marataízes', -21.0398000, -40.8384000), -(3203346, 32, 'Marechal Floriano', -20.4159000, -40.6700000), -(3203353, 32, 'Marilândia', -19.4114000, -40.5456000), -(3203403, 32, 'Mimoso do Sul', -21.0628000, -41.3615000), -(3203502, 32, 'Montanha', -18.1303000, -40.3668000), -(3203601, 32, 'Mucurici', -18.0965000, -40.5200000), -(3203700, 32, 'Muniz Freire', -20.4652000, -41.4156000), -(3203809, 32, 'Muqui', -20.9509000, -41.3460000), -(3203908, 32, 'Nova Venécia', -18.7150000, -40.4053000), -(3204005, 32, 'Pancas', -19.2229000, -40.8534000), -(3204054, 32, 'Pedro Canário', -18.3004000, -39.9574000), -(3204104, 32, 'Pinheiros', -18.4141000, -40.2171000), -(3204203, 32, 'Piúma', -20.8334000, -40.7268000), -(3204252, 32, 'Ponto Belo', -18.1253000, -40.5458000), -(3204302, 32, 'Presidente Kennedy', -21.0964000, -41.0468000), -(3204351, 32, 'Rio Bananal', -19.2719000, -40.3366000), -(3204401, 32, 'Rio Novo do Sul', -20.8556000, -40.9388000), -(3204500, 32, 'Santa Leopoldina', -20.0999000, -40.5270000), -(3204559, 32, 'Santa Maria de Jetibá', -20.0253000, -40.7439000), -(3204609, 32, 'Santa Teresa', -19.9363000, -40.5979000), -(3204658, 32, 'São Domingos do Norte', -19.1452000, -40.6281000), -(3204708, 32, 'São Gabriel da Palha', -19.0182000, -40.5365000), -(3204807, 32, 'São José do Calçado', -21.0274000, -41.6636000), -(3204906, 32, 'São Mateus', -18.7214000, -39.8579000), -(3204955, 32, 'São Roque do Canaã', -19.7411000, -40.6526000), -(3205002, 32, 'Serra', -20.1210000, -40.3074000), -(3205010, 32, 'Sooretama', -19.1897000, -40.0974000), -(3205036, 32, 'Vargem Alta', -20.6690000, -41.0179000), -(3205069, 32, 'Venda Nova do Imigrante', -20.3270000, -41.1355000), -(3205101, 32, 'Viana', -20.3825000, -40.4933000), -(3205150, 32, 'Vila Pavão', -18.6091000, -40.6090000), -(3205176, 32, 'Vila Valério', -18.9958000, -40.3849000), -(3205200, 32, 'Vila Velha', -20.3417000, -40.2875000), -(3205309, 32, 'Vitória', -20.3155000, -40.3128000), -(3300100, 33, 'Angra dos Reis', -23.0011000, -44.3196000), -(3300159, 33, 'Aperibé', -21.6252000, -42.1017000), -(3300209, 33, 'Araruama', -22.8697000, -42.3326000), -(3300225, 33, 'Areal', -22.2283000, -43.1118000), -(3300233, 33, 'Armação dos Búzios', -22.7528000, -41.8846000), -(3300258, 33, 'Arraial do Cabo', -22.9774000, -42.0267000), -(3300308, 33, 'Barra do Piraí', -22.4715000, -43.8269000), -(3300407, 33, 'Barra Mansa', -22.5481000, -44.1752000), -(3300456, 33, 'Belford Roxo', -22.7640000, -43.3992000), -(3300506, 33, 'Bom Jardim', -22.1545000, -42.4251000), -(3300605, 33, 'Bom Jesus do Itabapoana', -21.1449000, -41.6822000), -(3300704, 33, 'Cabo Frio', -22.8894000, -42.0286000), -(3300803, 33, 'Cachoeiras de Macacu', -22.4658000, -42.6523000), -(3300902, 33, 'Cambuci', -21.5691000, -41.9187000), -(3300936, 33, 'Carapebus', -22.1821000, -41.6630000), -(3300951, 33, 'Comendador Levy Gasparian', -22.0404000, -43.2140000), -(3301009, 33, 'Campos dos Goytacazes', -21.7622000, -41.3181000), -(3301108, 33, 'Cantagalo', -21.9797000, -42.3664000), -(3301157, 33, 'Cardoso Moreira', -21.4846000, -41.6165000), -(3301207, 33, 'Carmo', -21.9310000, -42.6046000), -(3301306, 33, 'Casimiro de Abreu', -22.4812000, -42.2066000), -(3301405, 33, 'Conceição de Macabu', -22.0834000, -41.8719000), -(3301504, 33, 'Cordeiro', -22.0267000, -42.3648000), -(3301603, 33, 'Duas Barras', -22.0536000, -42.5232000), -(3301702, 33, 'Duque de Caxias', -22.7858000, -43.3049000), -(3301801, 33, 'Engenheiro Paulo de Frontin', -22.5498000, -43.6827000), -(3301850, 33, 'Guapimirim', -22.5347000, -42.9895000), -(3301876, 33, 'Iguaba Grande', -22.8495000, -42.2299000), -(3301900, 33, 'Itaboraí', -22.7565000, -42.8639000), -(3302007, 33, 'Itaguaí', -22.8636000, -43.7798000), -(3302056, 33, 'Italva', -21.4296000, -41.7014000), -(3302106, 33, 'Itaocara', -21.6748000, -42.0758000), -(3302205, 33, 'Itaperuna', -21.1997000, -41.8799000), -(3302254, 33, 'Itatiaia', -22.4897000, -44.5675000), -(3302270, 33, 'Japeri', -22.6435000, -43.6602000), -(3302304, 33, 'Laje do Muriaé', -21.2091000, -42.1271000), -(3302403, 33, 'Macaé', -22.3768000, -41.7848000), -(3302452, 33, 'Macuco', -21.9813000, -42.2533000), -(3302502, 33, 'Magé', -22.6632000, -43.0315000), -(3302601, 33, 'Mangaratiba', -22.9594000, -44.0409000), -(3302700, 33, 'Maricá', -22.9354000, -42.8246000), -(3302809, 33, 'Mendes', -22.5245000, -43.7312000), -(3302858, 33, 'Mesquita', -22.8028000, -43.4601000), -(3302908, 33, 'Miguel Pereira', -22.4572000, -43.4803000), -(3303005, 33, 'Miracema', -21.4148000, -42.1938000), -(3303104, 33, 'Natividade', -21.0390000, -41.9697000), -(3303203, 33, 'Nilópolis', -22.8057000, -43.4233000), -(3303302, 33, 'Niterói', -22.8832000, -43.1034000), -(3303401, 33, 'Nova Friburgo', -22.2932000, -42.5377000), -(3303500, 33, 'Nova Iguaçu', -22.7556000, -43.4603000), -(3303609, 33, 'Paracambi', -22.6078000, -43.7108000), -(3303708, 33, 'Paraíba do Sul', -22.1585000, -43.3040000), -(3303807, 33, 'Paraty', -23.2221000, -44.7175000), -(3303856, 33, 'Paty do Alferes', -22.4309000, -43.4285000), -(3303906, 33, 'Petrópolis', -22.5200000, -43.1926000), -(3303955, 33, 'Pinheiral', -22.5172000, -44.0022000), -(3304003, 33, 'Piraí', -22.6215000, -43.9081000), -(3304102, 33, 'Porciúncula', -20.9632000, -42.0465000), -(3304110, 33, 'Porto Real', -22.4175000, -44.2952000), -(3304128, 33, 'Quatis', -22.4045000, -44.2597000), -(3304144, 33, 'Queimados', -22.7102000, -43.5518000), -(3304151, 33, 'Quissamã', -22.1031000, -41.4693000), -(3304201, 33, 'Resende', -22.4705000, -44.4509000), -(3304300, 33, 'Rio Bonito', -22.7181000, -42.6276000), -(3304409, 33, 'Rio Claro', -22.7200000, -44.1419000), -(3304508, 33, 'Rio das Flores', -22.1692000, -43.5856000), -(3304524, 33, 'Rio das Ostras', -22.5174000, -41.9475000), -(3304557, 33, 'Rio de Janeiro', -22.9129000, -43.2003000), -(3304607, 33, 'Santa Maria Madalena', -21.9547000, -42.0098000), -(3304706, 33, 'Santo Antônio de Pádua', -21.5410000, -42.1832000), -(3304755, 33, 'São Francisco de Itabapoana', -21.4702000, -41.1091000), -(3304805, 33, 'São Fidélis', -21.6551000, -41.7560000), -(3304904, 33, 'São Gonçalo', -22.8268000, -43.0634000), -(3305000, 33, 'São João da Barra', -21.6380000, -41.0446000), -(3305109, 33, 'São João de Meriti', -22.8058000, -43.3729000), -(3305133, 33, 'São José de Ubá', -21.3661000, -41.9511000), -(3305158, 33, 'São José do Vale do Rio Preto', -22.1525000, -42.9327000), -(3305208, 33, 'São Pedro da Aldeia', -22.8429000, -42.1026000), -(3305307, 33, 'São Sebastião do Alto', -21.9578000, -42.1328000), -(3305406, 33, 'Sapucaia', -21.9949000, -42.9142000), -(3305505, 33, 'Saquarema', -22.9292000, -42.5099000), -(3305554, 33, 'Seropédica', -22.7526000, -43.7155000), -(3305604, 33, 'Silva Jardim', -22.6574000, -42.3961000), -(3305703, 33, 'Sumidouro', -22.0485000, -42.6761000), -(3305752, 33, 'Tanguá', -22.7423000, -42.7202000), -(3305802, 33, 'Teresópolis', -22.4165000, -42.9752000), -(3305901, 33, 'Trajano de Moraes', -22.0638000, -42.0643000), -(3306008, 33, 'Três Rios', -22.1165000, -43.2185000), -(3306107, 33, 'Valença', -22.2445000, -43.7129000), -(3306156, 33, 'Varre-Sai', -20.9276000, -41.8701000), -(3306206, 33, 'Vassouras', -22.4059000, -43.6686000), -(3306305, 33, 'Volta Redonda', -22.5202000, -44.0996000), -(3500105, 35, 'Adamantina', -21.6820000, -51.0737000), -(3500204, 35, 'Adolfo', -21.2325000, -49.6451000), -(3500303, 35, 'Aguaí', -22.0572000, -46.9735000), -(3500402, 35, 'Águas da Prata', -21.9319000, -46.7176000), -(3500501, 35, 'Águas de Lindóia', -22.4733000, -46.6314000), -(3500550, 35, 'Águas de Santa Bárbara', -22.8812000, -49.2421000), -(3500600, 35, 'Águas de São Pedro', -22.5977000, -47.8734000), -(3500709, 35, 'Agudos', -22.4694000, -48.9863000), -(3500758, 35, 'Alambari', -23.5503000, -47.8980000), -(3500808, 35, 'Alfredo Marcondes', -21.9527000, -51.4140000), -(3500907, 35, 'Altair', -20.5242000, -49.0571000), -(3501004, 35, 'Altinópolis', -21.0214000, -47.3712000), -(3501103, 35, 'Alto Alegre', -21.5811000, -50.1680000), -(3501152, 35, 'Alumínio', -23.5306000, -47.2546000), -(3501202, 35, 'Álvares Florence', -20.3203000, -49.9141000), -(3501301, 35, 'Álvares Machado', -22.0764000, -51.4722000), -(3501400, 35, 'Álvaro de Carvalho', -22.0841000, -49.7190000), -(3501509, 35, 'Alvinlândia', -22.4435000, -49.7623000), -(3501608, 35, 'Americana', -22.7374000, -47.3331000), -(3501707, 35, 'Américo Brasiliense', -21.7288000, -48.1147000), -(3501806, 35, 'Américo de Campos', -20.2985000, -49.7359000), -(3501905, 35, 'Amparo', -22.7088000, -46.7720000), -(3502002, 35, 'Analândia', -22.1289000, -47.6619000), -(3502101, 35, 'Andradina', -20.8948000, -51.3786000), -(3502200, 35, 'Angatuba', -23.4917000, -48.4139000), -(3502309, 35, 'Anhembi', -22.7930000, -48.1336000), -(3502408, 35, 'Anhumas', -22.2934000, -51.3895000), -(3502507, 35, 'Aparecida', -22.8495000, -45.2325000), -(3502606, 35, "Aparecida d'Oeste", -20.4487000, -50.8835000), -(3502705, 35, 'Apiaí', -24.5108000, -48.8443000), -(3502754, 35, 'Araçariguama', -23.4366000, -47.0608000), -(3502804, 35, 'Araçatuba', -21.2076000, -50.4401000), -(3502903, 35, 'Araçoiaba da Serra', -23.5029000, -47.6166000), -(3503000, 35, 'Aramina', -20.0882000, -47.7873000), -(3503109, 35, 'Arandu', -23.1386000, -49.0487000), -(3503158, 35, 'Arapeí', -22.6717000, -44.4441000), -(3503208, 35, 'Araraquara', -21.7845000, -48.1780000), -(3503307, 35, 'Araras', -22.3572000, -47.3842000), -(3503356, 35, 'Arco-Íris', -21.7728000, -50.4660000), -(3503406, 35, 'Arealva', -22.0310000, -48.9135000), -(3503505, 35, 'Areias', -22.5786000, -44.6992000), -(3503604, 35, 'Areiópolis', -22.6672000, -48.6681000), -(3503703, 35, 'Ariranha', -21.1872000, -48.7904000), -(3503802, 35, 'Artur Nogueira', -22.5727000, -47.1727000), -(3503901, 35, 'Arujá', -23.3965000, -46.3200000), -(3503950, 35, 'Aspásia', -20.1600000, -50.7280000), -(3504008, 35, 'Assis', -22.6600000, -50.4183000), -(3504107, 35, 'Atibaia', -23.1171000, -46.5563000), -(3504206, 35, 'Auriflama', -20.6836000, -50.5572000), -(3504305, 35, 'Avaí', -22.1514000, -49.3356000), -(3504404, 35, 'Avanhandava', -21.4584000, -49.9509000), -(3504503, 35, 'Avaré', -23.1067000, -48.9251000), -(3504602, 35, 'Bady Bassitt', -20.9197000, -49.4385000), -(3504701, 35, 'Balbinos', -21.8963000, -49.3619000), -(3504800, 35, 'Bálsamo', -20.7348000, -49.5865000), -(3504909, 35, 'Bananal', -22.6819000, -44.3281000), -(3505005, 35, 'Barão de Antonina', -23.6284000, -49.5634000), -(3505104, 35, 'Barbosa', -21.2657000, -49.9518000), -(3505203, 35, 'Bariri', -22.0730000, -48.7438000), -(3505302, 35, 'Barra Bonita', -22.4909000, -48.5583000), -(3505351, 35, 'Barra do Chapéu', -24.4722000, -49.0238000), -(3505401, 35, 'Barra do Turvo', -24.7590000, -48.5013000), -(3505500, 35, 'Barretos', -20.5531000, -48.5698000), -(3505609, 35, 'Barrinha', -21.1864000, -48.1636000), -(3505708, 35, 'Barueri', -23.5057000, -46.8790000), -(3505807, 35, 'Bastos', -21.9210000, -50.7357000), -(3505906, 35, 'Batatais', -20.8929000, -47.5921000), -(3506003, 35, 'Bauru', -22.3246000, -49.0871000), -(3506102, 35, 'Bebedouro', -20.9491000, -48.4791000), -(3506201, 35, 'Bento de Abreu', -21.2686000, -50.8140000), -(3506300, 35, 'Bernardino de Campos', -23.0164000, -49.4679000), -(3506359, 35, 'Bertioga', -23.8486000, -46.1396000), -(3506409, 35, 'Bilac', -21.4040000, -50.4746000), -(3506508, 35, 'Birigui', -21.2910000, -50.3432000), -(3506607, 35, 'Biritiba-Mirim', -23.5698000, -46.0407000), -(3506706, 35, 'Boa Esperança do Sul', -21.9918000, -48.3906000), -(3506805, 35, 'Bocaina', -22.1365000, -48.5230000), -(3506904, 35, 'Bofete', -23.1055000, -48.2582000), -(3507001, 35, 'Boituva', -23.2855000, -47.6786000), -(3507100, 35, 'Bom Jesus dos Perdões', -23.1356000, -46.4675000), -(3507159, 35, 'Bom Sucesso de Itararé', -24.3155000, -49.1451000), -(3507209, 35, 'Borá', -22.2696000, -50.5409000), -(3507308, 35, 'Boracéia', -22.1926000, -48.7808000), -(3507407, 35, 'Borborema', -21.6214000, -49.0741000), -(3507456, 35, 'Borebi', -22.5728000, -48.9707000), -(3507506, 35, 'Botucatu', -22.8837000, -48.4437000), -(3507605, 35, 'Bragança Paulista', -22.9527000, -46.5419000), -(3507704, 35, 'Braúna', -21.4990000, -50.3175000), -(3507753, 35, 'Brejo Alegre', -21.1651000, -50.1861000), -(3507803, 35, 'Brodowski', -20.9845000, -47.6572000), -(3507902, 35, 'Brotas', -22.2795000, -48.1251000), -(3508009, 35, 'Buri', -23.7977000, -48.5958000), -(3508108, 35, 'Buritama', -21.0661000, -50.1475000), -(3508207, 35, 'Buritizal', -20.1911000, -47.7096000), -(3508306, 35, 'Cabrália Paulista', -22.4576000, -49.3393000), -(3508405, 35, 'Cabreúva', -23.3053000, -47.1362000), -(3508504, 35, 'Caçapava', -23.0992000, -45.7076000), -(3508603, 35, 'Cachoeira Paulista', -22.6665000, -45.0154000), -(3508702, 35, 'Caconde', -21.5280000, -46.6437000), -(3508801, 35, 'Cafelândia', -21.8031000, -49.6092000), -(3508900, 35, 'Caiabu', -22.0127000, -51.2394000), -(3509007, 35, 'Caieiras', -23.3607000, -46.7397000), -(3509106, 35, 'Caiuá', -21.8322000, -51.9969000), -(3509205, 35, 'Cajamar', -23.3550000, -46.8781000), -(3509254, 35, 'Cajati', -24.7324000, -48.1223000), -(3509304, 35, 'Cajobi', -20.8773000, -48.8063000), -(3509403, 35, 'Cajuru', -21.2749000, -47.3030000), -(3509452, 35, 'Campina do Monte Alegre', -23.5895000, -48.4758000), -(3509502, 35, 'Campinas', -22.9053000, -47.0659000), -(3509601, 35, 'Campo Limpo Paulista', -23.2078000, -46.7889000), -(3509700, 35, 'Campos do Jordão', -22.7296000, -45.5833000), -(3509809, 35, 'Campos Novos Paulista', -22.6020000, -49.9987000), -(3509908, 35, 'Cananéia', -25.0144000, -47.9341000), -(3509957, 35, 'Canas', -22.7003000, -45.0521000), -(3510005, 35, 'Cândido Mota', -22.7471000, -50.3873000), -(3510104, 35, 'Cândido Rodrigues', -21.3275000, -48.6327000), -(3510153, 35, 'Canitar', -23.0040000, -49.7839000), -(3510203, 35, 'Capão Bonito', -24.0113000, -48.3482000), -(3510302, 35, 'Capela do Alto', -23.4685000, -47.7388000), -(3510401, 35, 'Capivari', -22.9951000, -47.5071000), -(3510500, 35, 'Caraguatatuba', -23.6125000, -45.4125000), -(3510609, 35, 'Carapicuíba', -23.5235000, -46.8407000), -(3510708, 35, 'Cardoso', -20.0800000, -49.9183000), -(3510807, 35, 'Casa Branca', -21.7708000, -47.0852000), -(3510906, 35, 'Cássia dos Coqueiros', -21.2801000, -47.1643000), -(3511003, 35, 'Castilho', -20.8689000, -51.4884000), -(3511102, 35, 'Catanduva', -21.1314000, -48.9770000), -(3511201, 35, 'Catiguá', -21.0519000, -49.0616000), -(3511300, 35, 'Cedral', -20.9009000, -49.2664000), -(3511409, 35, 'Cerqueira César', -23.0380000, -49.1655000), -(3511508, 35, 'Cerquilho', -23.1665000, -47.7459000), -(3511607, 35, 'Cesário Lange', -23.2260000, -47.9545000), -(3511706, 35, 'Charqueada', -22.5096000, -47.7755000), -(3511904, 35, 'Clementina', -21.5604000, -50.4525000), -(3512001, 35, 'Colina', -20.7114000, -48.5387000), -(3512100, 35, 'Colômbia', -20.1768000, -48.6865000), -(3512209, 35, 'Conchal', -22.3375000, -47.1729000), -(3512308, 35, 'Conchas', -23.0154000, -48.0134000), -(3512407, 35, 'Cordeirópolis', -22.4778000, -47.4519000), -(3512506, 35, 'Coroados', -21.3521000, -50.2859000), -(3512605, 35, 'Coronel Macedo', -23.6261000, -49.3100000), -(3512704, 35, 'Corumbataí', -22.2213000, -47.6215000), -(3512803, 35, 'Cosmópolis', -22.6419000, -47.1926000), -(3512902, 35, 'Cosmorama', -20.4755000, -49.7827000), -(3513009, 35, 'Cotia', -23.6022000, -46.9190000), -(3513108, 35, 'Cravinhos', -21.3380000, -47.7324000), -(3513207, 35, 'Cristais Paulista', -20.4036000, -47.4209000), -(3513306, 35, 'Cruzália', -22.7373000, -50.7909000), -(3513405, 35, 'Cruzeiro', -22.5728000, -44.9690000), -(3513504, 35, 'Cubatão', -23.8911000, -46.4240000), -(3513603, 35, 'Cunha', -23.0731000, -44.9576000), -(3513702, 35, 'Descalvado', -21.9002000, -47.6181000), -(3513801, 35, 'Diadema', -23.6813000, -46.6205000), -(3513850, 35, 'Dirce Reis', -20.4642000, -50.6073000), -(3513900, 35, 'Divinolândia', -21.6637000, -46.7361000), -(3514007, 35, 'Dobrada', -21.5155000, -48.3935000), -(3514106, 35, 'Dois Córregos', -22.3673000, -48.3819000), -(3514205, 35, 'Dolcinópolis', -20.1240000, -50.5149000), -(3514304, 35, 'Dourado', -22.1044000, -48.3178000), -(3514403, 35, 'Dracena', -21.4843000, -51.5350000), -(3514502, 35, 'Duartina', -22.4146000, -49.4084000), -(3514601, 35, 'Dumont', -21.2324000, -47.9756000), -(3514700, 35, 'Echaporã', -22.4326000, -50.2038000), -(3514809, 35, 'Eldorado', -24.5281000, -48.1141000), -(3514908, 35, 'Elias Fausto', -23.0428000, -47.3682000), -(3514924, 35, 'Elisiário', -21.1678000, -49.1146000), -(3514957, 35, 'Embaúba', -20.9796000, -48.8325000), -(3515004, 35, 'Embu das Artes', -23.6437000, -46.8579000), -(3515103, 35, 'Embu-Guaçu', -23.8297000, -46.8136000), -(3515129, 35, 'Emilianópolis', -21.8314000, -51.4832000), -(3515152, 35, 'Engenheiro Coelho', -22.4836000, -47.2110000), -(3515186, 35, 'Espírito Santo do Pinhal', -22.1909000, -46.7477000), -(3515194, 35, 'Espírito Santo do Turvo', -22.6925000, -49.4341000), -(3515202, 35, "Estrela d'Oeste", -20.2875000, -50.4049000), -(3515301, 35, 'Estrela do Norte', -22.4859000, -51.6632000), -(3515350, 35, 'Euclides da Cunha Paulista', -22.5545000, -52.5928000), -(3515400, 35, 'Fartura', -23.3916000, -49.5124000), -(3515509, 35, 'Fernandópolis', -20.2806000, -50.2471000), -(3515608, 35, 'Fernando Prestes', -21.2661000, -48.6874000), -(3515657, 35, 'Fernão', -22.3607000, -49.5187000), -(3515707, 35, 'Ferraz de Vasconcelos', -23.5411000, -46.3710000), -(3515806, 35, 'Flora Rica', -21.6727000, -51.3821000), -(3515905, 35, 'Floreal', -20.6752000, -50.1513000), -(3516002, 35, 'Flórida Paulista', -21.6127000, -51.1724000), -(3516101, 35, 'Florínia', -22.8680000, -50.6814000), -(3516200, 35, 'Franca', -20.5352000, -47.4039000), -(3516309, 35, 'Francisco Morato', -23.2792000, -46.7448000), -(3516408, 35, 'Franco da Rocha', -23.3229000, -46.7290000), -(3516507, 35, 'Gabriel Monteiro', -21.5294000, -50.5573000), -(3516606, 35, 'Gália', -22.2918000, -49.5504000), -(3516705, 35, 'Garça', -22.2125000, -49.6546000), -(3516804, 35, 'Gastão Vidigal', -20.7948000, -50.1912000), -(3516853, 35, 'Gavião Peixoto', -21.8367000, -48.4957000), -(3516903, 35, 'General Salgado', -20.6485000, -50.3640000), -(3517000, 35, 'Getulina', -21.7961000, -49.9312000), -(3517109, 35, 'Glicério', -21.3812000, -50.2123000), -(3517208, 35, 'Guaiçara', -21.6195000, -49.8013000), -(3517307, 35, 'Guaimbê', -21.9091000, -49.8986000), -(3517406, 35, 'Guaíra', -20.3196000, -48.3120000), -(3517505, 35, 'Guapiaçu', -20.7959000, -49.2172000), -(3517604, 35, 'Guapiara', -24.1892000, -48.5295000), -(3517703, 35, 'Guará', -20.4302000, -47.8236000), -(3517802, 35, 'Guaraçaí', -21.0292000, -51.2119000), -(3517901, 35, 'Guaraci', -20.4977000, -48.9391000), -(3518008, 35, "Guarani d'Oeste", -20.0746000, -50.3411000), -(3518107, 35, 'Guarantã', -21.8942000, -49.5914000), -(3518206, 35, 'Guararapes', -21.2544000, -50.6453000), -(3518305, 35, 'Guararema', -23.4112000, -46.0369000), -(3518404, 35, 'Guaratinguetá', -22.8075000, -45.1938000), -(3518503, 35, 'Guareí', -23.3714000, -48.1837000), -(3518602, 35, 'Guariba', -21.3594000, -48.2316000), -(3518701, 35, 'Guarujá', -23.9888000, -46.2580000), -(3518800, 35, 'Guarulhos', -23.4538000, -46.5333000), -(3518859, 35, 'Guatapará', -21.4944000, -48.0356000), -(3518909, 35, 'Guzolândia', -20.6467000, -50.6645000), -(3519006, 35, 'Herculândia', -22.0038000, -50.3907000), -(3519055, 35, 'Holambra', -22.6405000, -47.0487000), -(3519071, 35, 'Hortolândia', -22.8529000, -47.2143000), -(3519105, 35, 'Iacanga', -21.8896000, -49.0310000), -(3519204, 35, 'Iacri', -21.8572000, -50.6932000), -(3519253, 35, 'Iaras', -22.8682000, -49.1634000), -(3519303, 35, 'Ibaté', -21.9584000, -47.9882000), -(3519402, 35, 'Ibirá', -21.0830000, -49.2448000), -(3519501, 35, 'Ibirarema', -22.8185000, -50.0739000), -(3519600, 35, 'Ibitinga', -21.7562000, -48.8319000), -(3519709, 35, 'Ibiúna', -23.6596000, -47.2230000), -(3519808, 35, 'Icém', -20.3391000, -49.1915000), -(3519907, 35, 'Iepê', -22.6602000, -51.0779000), -(3520004, 35, 'Igaraçu do Tietê', -22.5090000, -48.5597000), -(3520103, 35, 'Igarapava', -20.0407000, -47.7466000), -(3520202, 35, 'Igaratá', -23.2037000, -46.1570000), -(3520301, 35, 'Iguape', -24.6990000, -47.5537000), -(3520400, 35, 'Ilhabela', -23.7785000, -45.3552000), -(3520426, 35, 'Ilha Comprida', -24.7307000, -47.5383000), -(3520442, 35, 'Ilha Solteira', -20.4326000, -51.3426000), -(3520509, 35, 'Indaiatuba', -23.0816000, -47.2101000), -(3520608, 35, 'Indiana', -22.1738000, -51.2555000), -(3520707, 35, 'Indiaporã', -19.9790000, -50.2909000), -(3520806, 35, 'Inúbia Paulista', -21.7695000, -50.9633000), -(3520905, 35, 'Ipaussu', -23.0575000, -49.6279000), -(3521002, 35, 'Iperó', -23.3513000, -47.6927000), -(3521101, 35, 'Ipeúna', -22.4355000, -47.7151000), -(3521150, 35, 'Ipiguá', -20.6557000, -49.3842000), -(3521200, 35, 'Iporanga', -24.5847000, -48.5971000), -(3521309, 35, 'Ipuã', -20.4438000, -48.0129000), -(3521408, 35, 'Iracemápolis', -22.5832000, -47.5230000), -(3521507, 35, 'Irapuã', -21.2768000, -49.4164000), -(3521606, 35, 'Irapuru', -21.5684000, -51.3472000), -(3521705, 35, 'Itaberá', -23.8638000, -49.1400000), -(3521804, 35, 'Itaí', -23.4213000, -49.0920000), -(3521903, 35, 'Itajobi', -21.3123000, -49.0629000), -(3522000, 35, 'Itaju', -21.9857000, -48.8116000), -(3522109, 35, 'Itanhaém', -24.1736000, -46.7880000), -(3522158, 35, 'Itaóca', -24.6393000, -48.8413000), -(3522208, 35, 'Itapecerica da Serra', -23.7161000, -46.8572000), -(3522307, 35, 'Itapetininga', -23.5886000, -48.0483000), -(3522406, 35, 'Itapeva', -23.9788000, -48.8764000), -(3522505, 35, 'Itapevi', -23.5488000, -46.9327000), -(3522604, 35, 'Itapira', -22.4357000, -46.8224000), -(3522653, 35, 'Itapirapuã Paulista', -24.5720000, -49.1661000), -(3522703, 35, 'Itápolis', -21.5942000, -48.8149000), -(3522802, 35, 'Itaporanga', -23.7043000, -49.4819000), -(3522901, 35, 'Itapuí', -22.2324000, -48.7197000), -(3523008, 35, 'Itapura', -20.6419000, -51.5063000), -(3523107, 35, 'Itaquaquecetuba', -23.4835000, -46.3457000), -(3523206, 35, 'Itararé', -24.1085000, -49.3352000), -(3523305, 35, 'Itariri', -24.2834000, -47.1736000), -(3523404, 35, 'Itatiba', -23.0035000, -46.8464000), -(3523503, 35, 'Itatinga', -23.1047000, -48.6157000), -(3523602, 35, 'Itirapina', -22.2562000, -47.8166000), -(3523701, 35, 'Itirapuã', -20.6416000, -47.2194000), -(3523800, 35, 'Itobi', -21.7309000, -46.9743000), -(3523909, 35, 'Itu', -23.2544000, -47.2927000), -(3524006, 35, 'Itupeva', -23.1526000, -47.0593000), -(3524105, 35, 'Ituverava', -20.3355000, -47.7902000), -(3524204, 35, 'Jaborandi', -20.6884000, -48.4112000), -(3524303, 35, 'Jaboticabal', -21.2520000, -48.3252000), -(3524402, 35, 'Jacareí', -23.2983000, -45.9658000), -(3524501, 35, 'Jaci', -20.8805000, -49.5797000), -(3524600, 35, 'Jacupiranga', -24.6963000, -48.0064000), -(3524709, 35, 'Jaguariúna', -22.7037000, -46.9851000), -(3524808, 35, 'Jales', -20.2672000, -50.5494000), -(3524907, 35, 'Jambeiro', -23.2522000, -45.6942000), -(3525003, 35, 'Jandira', -23.5275000, -46.9023000), -(3525102, 35, 'Jardinópolis', -21.0176000, -47.7606000), -(3525201, 35, 'Jarinu', -23.1039000, -46.7280000), -(3525300, 35, 'Jaú', -22.2936000, -48.5592000), -(3525409, 35, 'Jeriquara', -20.3116000, -47.5918000), -(3525508, 35, 'Joanópolis', -22.9270000, -46.2741000), -(3525607, 35, 'João Ramalho', -22.2473000, -50.7694000), -(3525706, 35, 'José Bonifácio', -21.0551000, -49.6892000), -(3525805, 35, 'Júlio Mesquita', -22.0112000, -49.7873000), -(3525854, 35, 'Jumirim', -23.0884000, -47.7868000), -(3525904, 35, 'Jundiaí', -23.1852000, -46.8974000), -(3526001, 35, 'Junqueirópolis', -21.5103000, -51.4342000), -(3526100, 35, 'Juquiá', -24.3101000, -47.6426000), -(3526209, 35, 'Juquitiba', -23.9244000, -47.0653000), -(3526308, 35, 'Lagoinha', -23.0846000, -45.1944000), -(3526407, 35, 'Laranjal Paulista', -23.0506000, -47.8375000), -(3526506, 35, 'Lavínia', -21.1639000, -51.0412000), -(3526605, 35, 'Lavrinhas', -22.5700000, -44.9024000), -(3526704, 35, 'Leme', -22.1809000, -47.3841000), -(3526803, 35, 'Lençóis Paulista', -22.6027000, -48.8037000), -(3526902, 35, 'Limeira', -22.5660000, -47.3970000), -(3527009, 35, 'Lindóia', -22.5226000, -46.6500000), -(3527108, 35, 'Lins', -21.6718000, -49.7526000), -(3527207, 35, 'Lorena', -22.7334000, -45.1197000), -(3527256, 35, 'Lourdes', -20.9660000, -50.2263000), -(3527306, 35, 'Louveira', -23.0856000, -46.9484000), -(3527405, 35, 'Lucélia', -21.7182000, -51.0215000), -(3527504, 35, 'Lucianópolis', -22.4294000, -49.5220000), -(3527603, 35, 'Luís Antônio', -21.5500000, -47.7801000), -(3527702, 35, 'Luiziânia', -21.6737000, -50.3294000), -(3527801, 35, 'Lupércio', -22.4146000, -49.8180000), -(3527900, 35, 'Lutécia', -22.3384000, -50.3940000), -(3528007, 35, 'Macatuba', -22.5002000, -48.7102000), -(3528106, 35, 'Macaubal', -20.8022000, -49.9687000), -(3528205, 35, 'Macedônia', -20.1444000, -50.1973000), -(3528304, 35, 'Magda', -20.6445000, -50.2305000), -(3528403, 35, 'Mairinque', -23.5398000, -47.1850000), -(3528502, 35, 'Mairiporã', -23.3171000, -46.5897000), -(3528601, 35, 'Manduri', -23.0056000, -49.3202000), -(3528700, 35, 'Marabá Paulista', -22.1068000, -51.9617000), -(3528809, 35, 'Maracaí', -22.6149000, -50.6713000), -(3528858, 35, 'Marapoama', -21.2587000, -49.1300000), -(3528908, 35, 'Mariápolis', -21.7959000, -51.1824000), -(3529005, 35, 'Marília', -22.2171000, -49.9501000), -(3529104, 35, 'Marinópolis', -20.4389000, -50.8254000), -(3529203, 35, 'Martinópolis', -22.1462000, -51.1709000), -(3529302, 35, 'Matão', -21.6025000, -48.3640000), -(3529401, 35, 'Mauá', -23.6677000, -46.4613000), -(3529500, 35, 'Mendonça', -21.1757000, -49.5791000), -(3529609, 35, 'Meridiano', -20.3579000, -50.1811000), -(3529658, 35, 'Mesópolis', -19.9684000, -50.6326000), -(3529708, 35, 'Miguelópolis', -20.1796000, -48.0310000), -(3529807, 35, 'Mineiros do Tietê', -22.4120000, -48.4510000), -(3529906, 35, 'Miracatu', -24.2766000, -47.4625000), -(3530003, 35, 'Mira Estrela', -19.9789000, -50.1390000), -(3530102, 35, 'Mirandópolis', -21.1313000, -51.1035000), -(3530201, 35, 'Mirante do Paranapanema', -22.2904000, -51.9084000), -(3530300, 35, 'Mirassol', -20.8169000, -49.5206000), -(3530409, 35, 'Mirassolândia', -20.6179000, -49.4617000), -(3530508, 35, 'Mococa', -21.4647000, -47.0024000), -(3530607, 35, 'Mogi das Cruzes', -23.5208000, -46.1854000), -(3530706, 35, 'Mogi Guaçu', -22.3675000, -46.9428000), -(3530805, 35, 'Mogi Mirim', -22.4332000, -46.9532000), -(3530904, 35, 'Mombuca', -22.9285000, -47.5590000), -(3531001, 35, 'Monções', -20.8509000, -50.0975000), -(3531100, 35, 'Mongaguá', -24.0809000, -46.6265000), -(3531209, 35, 'Monte Alegre do Sul', -22.6817000, -46.6810000), -(3531308, 35, 'Monte Alto', -21.2655000, -48.4971000), -(3531407, 35, 'Monte Aprazível', -20.7680000, -49.7184000), -(3531506, 35, 'Monte Azul Paulista', -20.9065000, -48.6387000), -(3531605, 35, 'Monte Castelo', -21.2981000, -51.5679000), -(3531704, 35, 'Monteiro Lobato', -22.9544000, -45.8407000), -(3531803, 35, 'Monte Mor', -22.9450000, -47.3122000), -(3531902, 35, 'Morro Agudo', -20.7288000, -48.0581000), -(3532009, 35, 'Morungaba', -22.8811000, -46.7896000), -(3532058, 35, 'Motuca', -21.5103000, -48.1538000), -(3532108, 35, 'Murutinga do Sul', -20.9908000, -51.2774000), -(3532157, 35, 'Nantes', -22.6156000, -51.2400000), -(3532207, 35, 'Narandiba', -22.4057000, -51.5274000), -(3532306, 35, 'Natividade da Serra', -23.3707000, -45.4468000), -(3532405, 35, 'Nazaré Paulista', -23.1747000, -46.3983000), -(3532504, 35, 'Neves Paulista', -20.8430000, -49.6358000), -(3532603, 35, 'Nhandeara', -20.6945000, -50.0436000), -(3532702, 35, 'Nipoã', -20.9114000, -49.7833000), -(3532801, 35, 'Nova Aliança', -21.0156000, -49.4986000), -(3532827, 35, 'Nova Campina', -24.1224000, -48.9022000), -(3532843, 35, 'Nova Canaã Paulista', -20.3836000, -50.9483000), -(3532868, 35, 'Nova Castilho', -20.7615000, -50.3477000), -(3532900, 35, 'Nova Europa', -21.7765000, -48.5705000), -(3533007, 35, 'Nova Granada', -20.5321000, -49.3123000), -(3533106, 35, 'Nova Guataporanga', -21.3320000, -51.6447000), -(3533205, 35, 'Nova Independência', -21.1026000, -51.4905000), -(3533254, 35, 'Novais', -20.9893000, -48.9141000), -(3533304, 35, 'Nova Luzitânia', -20.8560000, -50.2617000), -(3533403, 35, 'Nova Odessa', -22.7832000, -47.2941000), -(3533502, 35, 'Novo Horizonte', -21.4651000, -49.2234000), -(3533601, 35, 'Nuporanga', -20.7296000, -47.7429000), -(3533700, 35, 'Ocauçu', -22.4380000, -49.9220000), -(3533809, 35, 'Óleo', -22.9435000, -49.3419000), -(3533908, 35, 'Olímpia', -20.7366000, -48.9106000), -(3534005, 35, 'Onda Verde', -20.6042000, -49.2929000), -(3534104, 35, 'Oriente', -22.1549000, -50.0971000), -(3534203, 35, 'Orindiúva', -20.1861000, -49.3464000), -(3534302, 35, 'Orlândia', -20.7169000, -47.8852000), -(3534401, 35, 'Osasco', -23.5324000, -46.7916000), -(3534500, 35, 'Oscar Bressane', -22.3149000, -50.2811000), -(3534609, 35, 'Osvaldo Cruz', -21.7968000, -50.8793000), -(3534708, 35, 'Ourinhos', -22.9797000, -49.8697000), -(3534757, 35, 'Ouroeste', -20.0061000, -50.3768000), -(3534807, 35, 'Ouro Verde', -21.4872000, -51.7024000), -(3534906, 35, 'Pacaembu', -21.5627000, -51.2654000), -(3535002, 35, 'Palestina', -20.3900000, -49.4309000), -(3535101, 35, 'Palmares Paulista', -21.0854000, -48.8037000), -(3535200, 35, "Palmeira d'Oeste", -20.4148000, -50.7632000), -(3535309, 35, 'Palmital', -22.7858000, -50.2180000), -(3535408, 35, 'Panorama', -21.3540000, -51.8562000), -(3535507, 35, 'Paraguaçu Paulista', -22.4114000, -50.5732000), -(3535606, 35, 'Paraibuna', -23.3872000, -45.6639000), -(3535705, 35, 'Paraíso', -21.0159000, -48.7761000), -(3535804, 35, 'Paranapanema', -23.3862000, -48.7214000), -(3535903, 35, 'Paranapuã', -20.1048000, -50.5886000), -(3536000, 35, 'Parapuã', -21.7792000, -50.7949000), -(3536109, 35, 'Pardinho', -23.0841000, -48.3679000), -(3536208, 35, 'Pariquera-Açu', -24.7147000, -47.8742000), -(3536257, 35, 'Parisi', -20.3034000, -50.0163000), -(3536307, 35, 'Patrocínio Paulista', -20.6384000, -47.2801000), -(3536406, 35, 'Paulicéia', -21.3153000, -51.8321000), -(3536505, 35, 'Paulínia', -22.7542000, -47.1488000), -(3536570, 35, 'Paulistânia', -22.5768000, -49.4008000), -(3536604, 35, 'Paulo de Faria', -20.0296000, -49.4000000), -(3536703, 35, 'Pederneiras', -22.3511000, -48.7781000), -(3536802, 35, 'Pedra Bela', -22.7902000, -46.4455000), -(3536901, 35, 'Pedranópolis', -20.2474000, -50.1129000), -(3537008, 35, 'Pedregulho', -20.2535000, -47.4775000), -(3537107, 35, 'Pedreira', -22.7413000, -46.8948000), -(3537156, 35, 'Pedrinhas Paulista', -22.8174000, -50.7933000), -(3537206, 35, 'Pedro de Toledo', -24.2764000, -47.2354000), -(3537305, 35, 'Penápolis', -21.4148000, -50.0769000), -(3537404, 35, 'Pereira Barreto', -20.6368000, -51.1123000), -(3537503, 35, 'Pereiras', -23.0804000, -47.9720000), -(3537602, 35, 'Peruíbe', -24.3120000, -47.0012000), -(3537701, 35, 'Piacatu', -21.5921000, -50.6003000), -(3537800, 35, 'Piedade', -23.7139000, -47.4256000), -(3537909, 35, 'Pilar do Sul', -23.8077000, -47.7222000), -(3538006, 35, 'Pindamonhangaba', -22.9246000, -45.4613000), -(3538105, 35, 'Pindorama', -21.1853000, -48.9086000), -(3538204, 35, 'Pinhalzinho', -22.7811000, -46.5897000), -(3538303, 35, 'Piquerobi', -21.8747000, -51.7282000), -(3538501, 35, 'Piquete', -22.6069000, -45.1869000), -(3538600, 35, 'Piracaia', -23.0525000, -46.3594000), -(3538709, 35, 'Piracicaba', -22.7338000, -47.6476000), -(3538808, 35, 'Piraju', -23.1981000, -49.3803000), -(3538907, 35, 'Pirajuí', -21.9990000, -49.4608000), -(3539004, 35, 'Pirangi', -21.0886000, -48.6607000), -(3539103, 35, 'Pirapora do Bom Jesus', -23.3965000, -46.9991000), -(3539202, 35, 'Pirapozinho', -22.2711000, -51.4976000), -(3539301, 35, 'Pirassununga', -21.9960000, -47.4257000), -(3539400, 35, 'Piratininga', -22.4142000, -49.1339000), -(3539509, 35, 'Pitangueiras', -21.0132000, -48.2210000), -(3539608, 35, 'Planalto', -21.0342000, -49.9330000), -(3539707, 35, 'Platina', -22.6371000, -50.2104000), -(3539806, 35, 'Poá', -23.5333000, -46.3473000), -(3539905, 35, 'Poloni', -20.7829000, -49.8258000), -(3540002, 35, 'Pompéia', -22.1070000, -50.1760000), -(3540101, 35, 'Pongaí', -21.7396000, -49.3604000), -(3540200, 35, 'Pontal', -21.0216000, -48.0423000), -(3540259, 35, 'Pontalinda', -20.4396000, -50.5258000), -(3540309, 35, 'Pontes Gestal', -20.1727000, -49.7064000), -(3540408, 35, 'Populina', -19.9453000, -50.5380000), -(3540507, 35, 'Porangaba', -23.1761000, -48.1195000), -(3540606, 35, 'Porto Feliz', -23.2093000, -47.5251000), -(3540705, 35, 'Porto Ferreira', -21.8498000, -47.4870000), -(3540754, 35, 'Potim', -22.8343000, -45.2552000), -(3540804, 35, 'Potirendaba', -21.0428000, -49.3815000), -(3540853, 35, 'Pracinha', -21.8496000, -51.0868000), -(3540903, 35, 'Pradópolis', -21.3626000, -48.0679000), -(3541000, 35, 'Praia Grande', -24.0084000, -46.4121000), -(3541059, 35, 'Pratânia', -22.8112000, -48.6636000), -(3541109, 35, 'Presidente Alves', -22.0999000, -49.4381000), -(3541208, 35, 'Presidente Bernardes', -22.0082000, -51.5565000), -(3541307, 35, 'Presidente Epitácio', -21.7651000, -52.1111000), -(3541406, 35, 'Presidente Prudente', -22.1207000, -51.3925000), -(3541505, 35, 'Presidente Venceslau', -21.8732000, -51.8447000), -(3541604, 35, 'Promissão', -21.5356000, -49.8599000), -(3541653, 35, 'Quadra', -23.2993000, -48.0547000), -(3541703, 35, 'Quatá', -22.2456000, -50.6966000), -(3541802, 35, 'Queiroz', -21.7969000, -50.2415000), -(3541901, 35, 'Queluz', -22.5312000, -44.7781000), -(3542008, 35, 'Quintana', -22.0692000, -50.3070000), -(3542107, 35, 'Rafard', -23.0105000, -47.5318000), -(3542206, 35, 'Rancharia', -22.2269000, -50.8930000), -(3542305, 35, 'Redenção da Serra', -23.2638000, -45.5422000), -(3542404, 35, 'Regente Feijó', -22.2181000, -51.3055000), -(3542503, 35, 'Reginópolis', -21.8914000, -49.2268000), -(3542602, 35, 'Registro', -24.4979000, -47.8449000), -(3542701, 35, 'Restinga', -20.6056000, -47.4833000), -(3542800, 35, 'Ribeira', -24.6517000, -49.0044000), -(3542909, 35, 'Ribeirão Bonito', -22.0685000, -48.1820000), -(3543006, 35, 'Ribeirão Branco', -24.2206000, -48.7635000), -(3543105, 35, 'Ribeirão Corrente', -20.4579000, -47.5904000), -(3543204, 35, 'Ribeirão do Sul', -22.7890000, -49.9330000), -(3543238, 35, 'Ribeirão dos Índios', -21.8382000, -51.6103000), -(3543253, 35, 'Ribeirão Grande', -24.1011000, -48.3679000), -(3543303, 35, 'Ribeirão Pires', -23.7067000, -46.4058000), -(3543402, 35, 'Ribeirão Preto', -21.1699000, -47.8099000), -(3543501, 35, 'Riversul', -23.8290000, -49.4290000), -(3543600, 35, 'Rifaina', -20.0803000, -47.4291000), -(3543709, 35, 'Rincão', -21.5894000, -48.0728000), -(3543808, 35, 'Rinópolis', -21.7284000, -50.7239000), -(3543907, 35, 'Rio Claro', -22.3984000, -47.5546000), -(3544004, 35, 'Rio das Pedras', -22.8417000, -47.6047000), -(3544103, 35, 'Rio Grande da Serra', -23.7437000, -46.3971000), -(3544202, 35, 'Riolândia', -19.9868000, -49.6836000), -(3544251, 35, 'Rosana', -22.5782000, -53.0603000), -(3544301, 35, 'Roseira', -22.8938000, -45.3070000), -(3544400, 35, 'Rubiácea', -21.3006000, -50.7296000), -(3544509, 35, 'Rubinéia', -20.1759000, -51.0070000), -(3544608, 35, 'Sabino', -21.4593000, -49.5755000), -(3544707, 35, 'Sagres', -21.8823000, -50.9594000), -(3544806, 35, 'Sales', -21.3427000, -49.4897000), -(3544905, 35, 'Sales Oliveira', -20.7696000, -47.8369000), -(3545001, 35, 'Salesópolis', -23.5288000, -45.8465000), -(3545100, 35, 'Salmourão', -21.6267000, -50.8614000), -(3545159, 35, 'Saltinho', -22.8442000, -47.6754000), -(3545209, 35, 'Salto', -23.1996000, -47.2931000), -(3545308, 35, 'Salto de Pirapora', -23.6474000, -47.5743000), -(3545407, 35, 'Salto Grande', -22.8894000, -49.9831000), -(3545506, 35, 'Sandovalina', -22.4551000, -51.7648000), -(3545605, 35, 'Santa Adélia', -21.2427000, -48.8063000), -(3545704, 35, 'Santa Albertina', -20.0311000, -50.7297000), -(3545803, 35, "Santa Bárbara d'Oeste", -22.7553000, -47.4143000), -(3546009, 35, 'Santa Branca', -23.3933000, -45.8875000), -(3546108, 35, "Santa Clara d'Oeste", -20.0900000, -50.9491000), -(3546207, 35, 'Santa Cruz da Conceição', -22.1405000, -47.4512000), -(3546256, 35, 'Santa Cruz da Esperança', -21.2951000, -47.4304000), -(3546306, 35, 'Santa Cruz das Palmeiras', -21.8235000, -47.2480000), -(3546405, 35, 'Santa Cruz do Rio Pardo', -22.8988000, -49.6354000), -(3546504, 35, 'Santa Ernestina', -21.4618000, -48.3953000), -(3546603, 35, 'Santa Fé do Sul', -20.2083000, -50.9320000), -(3546702, 35, 'Santa Gertrudes', -22.4572000, -47.5272000), -(3546801, 35, 'Santa Isabel', -23.3172000, -46.2237000), -(3546900, 35, 'Santa Lúcia', -21.6850000, -48.0885000), -(3547007, 35, 'Santa Maria da Serra', -22.5661000, -48.1593000), -(3547106, 35, 'Santa Mercedes', -21.3495000, -51.7564000), -(3547205, 35, 'Santana da Ponte Pensa', -20.2523000, -50.8014000), -(3547304, 35, 'Santana de Parnaíba', -23.4439000, -46.9178000), -(3547403, 35, "Santa Rita d'Oeste", -20.1414000, -50.8358000), -(3547502, 35, 'Santa Rita do Passa Quatro', -21.7083000, -47.4780000), -(3547601, 35, 'Santa Rosa de Viterbo', -21.4776000, -47.3622000), -(3547650, 35, 'Santa Salete', -20.2429000, -50.6887000), -(3547700, 35, 'Santo Anastácio', -21.9747000, -51.6527000), -(3547809, 35, 'Santo André', -23.6737000, -46.5432000), -(3547908, 35, 'Santo Antônio da Alegria', -21.0864000, -47.1464000), -(3548005, 35, 'Santo Antônio de Posse', -22.6029000, -46.9192000), -(3548054, 35, 'Santo Antônio do Aracanguá', -20.9331000, -50.4980000), -(3548104, 35, 'Santo Antônio do Jardim', -22.1121000, -46.6845000), -(3548203, 35, 'Santo Antônio do Pinhal', -22.8270000, -45.6630000), -(3548302, 35, 'Santo Expedito', -21.8467000, -51.3929000), -(3548401, 35, 'Santópolis do Aguapeí', -21.6376000, -50.5044000), -(3548500, 35, 'Santos', -23.9535000, -46.3350000), -(3548609, 35, 'São Bento do Sapucaí', -22.6837000, -45.7287000), -(3548708, 35, 'São Bernardo do Campo', -23.6914000, -46.5646000), -(3548807, 35, 'São Caetano do Sul', -23.6229000, -46.5548000), -(3548906, 35, 'São Carlos', -22.0174000, -47.8860000), -(3549003, 35, 'São Francisco', -20.3623000, -50.6952000), -(3549102, 35, 'São João da Boa Vista', -21.9707000, -46.7944000), -(3549201, 35, 'São João das Duas Pontes', -20.3879000, -50.3792000), -(3549250, 35, 'São João de Iracema', -20.5111000, -50.3561000), -(3549300, 35, "São João do Pau d'Alho", -21.2662000, -51.6672000), -(3549409, 35, 'São Joaquim da Barra', -20.5812000, -47.8593000), -(3549508, 35, 'São José da Bela Vista', -20.5935000, -47.6424000), -(3549607, 35, 'São José do Barreiro', -22.6414000, -44.5774000), -(3549706, 35, 'São José do Rio Pardo', -21.5953000, -46.8873000), -(3549805, 35, 'São José do Rio Preto', -20.8113000, -49.3758000), -(3549904, 35, 'São José dos Campos', -23.1896000, -45.8841000), -(3549953, 35, 'São Lourenço da Serra', -23.8491000, -46.9432000), -(3550001, 35, 'São Luiz do Paraitinga', -23.2220000, -45.3109000), -(3550100, 35, 'São Manuel', -22.7321000, -48.5723000), -(3550209, 35, 'São Miguel Arcanjo', -23.8782000, -47.9935000), -(3550308, 35, 'São Paulo', -23.5329000, -46.6395000), -(3550407, 35, 'São Pedro', -22.5483000, -47.9096000), -(3550506, 35, 'São Pedro do Turvo', -22.7453000, -49.7428000), -(3550605, 35, 'São Roque', -23.5226000, -47.1357000), -(3550704, 35, 'São Sebastião', -23.7951000, -45.4143000), -(3550803, 35, 'São Sebastião da Grama', -21.7041000, -46.8208000), -(3550902, 35, 'São Simão', -21.4732000, -47.5518000), -(3551009, 35, 'São Vicente', -23.9574000, -46.3883000), -(3551108, 35, 'Sarapuí', -23.6397000, -47.8249000), -(3551207, 35, 'Sarutaiá', -23.2721000, -49.4763000), -(3551306, 35, 'Sebastianópolis do Sul', -20.6523000, -49.9250000), -(3551405, 35, 'Serra Azul', -21.3074000, -47.5602000), -(3551504, 35, 'Serrana', -21.2043000, -47.5952000), -(3551603, 35, 'Serra Negra', -22.6139000, -46.7033000), -(3551702, 35, 'Sertãozinho', -21.1316000, -47.9875000), -(3551801, 35, 'Sete Barras', -24.3820000, -47.9279000), -(3551900, 35, 'Severínia', -20.8108000, -48.8054000), -(3552007, 35, 'Silveiras', -22.6638000, -44.8522000), -(3552106, 35, 'Socorro', -22.5903000, -46.5251000), -(3552205, 35, 'Sorocaba', -23.4969000, -47.4451000), -(3552304, 35, 'Sud Mennucci', -20.6872000, -50.9238000), -(3552403, 35, 'Sumaré', -22.8204000, -47.2728000), -(3552502, 35, 'Suzano', -23.5448000, -46.3112000), -(3552551, 35, 'Suzanápolis', -20.4981000, -51.0268000), -(3552601, 35, 'Tabapuã', -20.9602000, -49.0307000), -(3552700, 35, 'Tabatinga', -21.7239000, -48.6896000), -(3552809, 35, 'Taboão da Serra', -23.6019000, -46.7526000), -(3552908, 35, 'Taciba', -22.3866000, -51.2882000), -(3553005, 35, 'Taguaí', -23.4452000, -49.4024000), -(3553104, 35, 'Taiaçu', -21.1431000, -48.5112000), -(3553203, 35, 'Taiúva', -21.1223000, -48.4528000), -(3553302, 35, 'Tambaú', -21.7029000, -47.2703000), -(3553401, 35, 'Tanabi', -20.6228000, -49.6563000), -(3553500, 35, 'Tapiraí', -23.9612000, -47.5062000), -(3553609, 35, 'Tapiratiba', -21.4713000, -46.7448000), -(3553658, 35, 'Taquaral', -21.0737000, -48.4126000), -(3553708, 35, 'Taquaritinga', -21.4049000, -48.5103000), -(3553807, 35, 'Taquarituba', -23.5307000, -49.2410000), -(3553856, 35, 'Taquarivaí', -23.9211000, -48.6948000), -(3553906, 35, 'Tarabai', -22.3016000, -51.5621000), -(3553955, 35, 'Tarumã', -22.7429000, -50.5786000), -(3554003, 35, 'Tatuí', -23.3487000, -47.8461000), -(3554102, 35, 'Taubaté', -23.0104000, -45.5593000), -(3554201, 35, 'Tejupá', -23.3425000, -49.3722000), -(3554300, 35, 'Teodoro Sampaio', -22.5299000, -52.1682000), -(3554409, 35, 'Terra Roxa', -20.7870000, -48.3314000), -(3554508, 35, 'Tietê', -23.1101000, -47.7164000), -(3554607, 35, 'Timburi', -23.2057000, -49.6096000), -(3554656, 35, 'Torre de Pedra', -23.2462000, -48.1955000), -(3554706, 35, 'Torrinha', -22.4237000, -48.1731000), -(3554755, 35, 'Trabiju', -22.0388000, -48.3342000), -(3554805, 35, 'Tremembé', -22.9571000, -45.5475000), -(3554904, 35, 'Três Fronteiras', -20.2344000, -50.8905000), -(3554953, 35, 'Tuiuti', -22.8193000, -46.6937000), -(3555000, 35, 'Tupã', -21.9335000, -50.5191000), -(3555109, 35, 'Tupi Paulista', -21.3825000, -51.5750000), -(3555208, 35, 'Turiúba', -20.9428000, -50.1135000), -(3555307, 35, 'Turmalina', -20.0486000, -50.4792000), -(3555356, 35, 'Ubarana', -21.1650000, -49.7198000), -(3555406, 35, 'Ubatuba', -23.4332000, -45.0834000), -(3555505, 35, 'Ubirajara', -22.5272000, -49.6613000), -(3555604, 35, 'Uchoa', -20.9511000, -49.1713000), -(3555703, 35, 'União Paulista', -20.8862000, -49.9025000), -(3555802, 35, 'Urânia', -20.2455000, -50.6455000), -(3555901, 35, 'Uru', -21.7866000, -49.2848000), -(3556008, 35, 'Urupês', -21.2032000, -49.2931000), -(3556107, 35, 'Valentim Gentil', -20.4217000, -50.0889000), -(3556206, 35, 'Valinhos', -22.9698000, -46.9974000), -(3556305, 35, 'Valparaíso', -21.2229000, -50.8699000), -(3556354, 35, 'Vargem', -22.8870000, -46.4124000), -(3556404, 35, 'Vargem Grande do Sul', -21.8322000, -46.8913000), -(3556453, 35, 'Vargem Grande Paulista', -23.5993000, -47.0220000), -(3556503, 35, 'Várzea Paulista', -23.2136000, -46.8234000), -(3556602, 35, 'Vera Cruz', -22.2183000, -49.8207000), -(3556701, 35, 'Vinhedo', -23.0302000, -46.9833000), -(3556800, 35, 'Viradouro', -20.8734000, -48.2930000), -(3556909, 35, 'Vista Alegre do Alto', -21.1692000, -48.6284000), -(3556958, 35, 'Vitória Brasil', -20.1956000, -50.4875000), -(3557006, 35, 'Votorantim', -23.5446000, -47.4388000), -(3557105, 35, 'Votuporanga', -20.4237000, -49.9781000), -(3557154, 35, 'Zacarias', -21.0506000, -50.0552000), -(3557204, 35, 'Chavantes', -23.0366000, -49.7096000), -(3557303, 35, 'Estiva Gerbi', -22.2713000, -46.9481000), -(4100103, 41, 'Abatiá', -23.3049000, -50.3133000), -(4100202, 41, 'Adrianópolis', -24.6606000, -48.9922000), -(4100301, 41, 'Agudos do Sul', -25.9899000, -49.3343000), -(4100400, 41, 'Almirante Tamandaré', -25.3188000, -49.3037000), -(4100459, 41, 'Altamira do Paraná', -24.7983000, -52.7128000), -(4100509, 41, 'Altônia', -23.8759000, -53.8958000), -(4100608, 41, 'Alto Paraná', -23.1312000, -52.3189000), -(4100707, 41, 'Alto Piquiri', -24.0224000, -53.4400000), -(4100806, 41, 'Alvorada do Sul', -22.7813000, -51.2297000), -(4100905, 41, 'Amaporã', -23.0943000, -52.7866000), -(4101002, 41, 'Ampére', -25.9168000, -53.4686000), -(4101051, 41, 'Anahy', -24.6449000, -53.1332000), -(4101101, 41, 'Andirá', -23.0533000, -50.2304000), -(4101150, 41, 'Ângulo', -23.1946000, -51.9154000), -(4101200, 41, 'Antonina', -25.4386000, -48.7191000), -(4101309, 41, 'Antônio Olinto', -25.9804000, -50.1972000), -(4101408, 41, 'Apucarana', -23.5500000, -51.4635000), -(4101507, 41, 'Arapongas', -23.4153000, -51.4259000), -(4101606, 41, 'Arapoti', -24.1548000, -49.8285000), -(4101655, 41, 'Arapuã', -24.3132000, -51.7856000), -(4101705, 41, 'Araruna', -23.9315000, -52.5021000), -(4101804, 41, 'Araucária', -25.5859000, -49.4047000), -(4101853, 41, 'Ariranha do Ivaí', -24.3857000, -51.5839000), -(4101903, 41, 'Assaí', -23.3697000, -50.8459000), -(4102000, 41, 'Assis Chateaubriand', -24.4168000, -53.5213000), -(4102109, 41, 'Astorga', -23.2318000, -51.6668000), -(4102208, 41, 'Atalaia', -23.1517000, -52.0551000), -(4102307, 41, 'Balsa Nova', -25.5804000, -49.6291000), -(4102406, 41, 'Bandeirantes', -23.1078000, -50.3704000), -(4102505, 41, 'Barbosa Ferraz', -24.0334000, -52.0040000), -(4102604, 41, 'Barracão', -26.2502000, -53.6324000), -(4102703, 41, 'Barra do Jacaré', -23.1160000, -50.1842000), -(4102752, 41, 'Bela Vista da Caroba', -25.8842000, -53.6725000), -(4102802, 41, 'Bela Vista do Paraíso', -22.9937000, -51.1927000), -(4102901, 41, 'Bituruna', -26.1607000, -51.5518000), -(4103008, 41, 'Boa Esperança', -24.2467000, -52.7876000), -(4103024, 41, 'Boa Esperança do Iguaçu', -25.6324000, -53.2108000), -(4103040, 41, 'Boa Ventura de São Roque', -24.8688000, -51.6276000), -(4103057, 41, 'Boa Vista da Aparecida', -25.4308000, -53.4117000), -(4103107, 41, 'Bocaiúva do Sul', -25.2066000, -49.1141000), -(4103156, 41, 'Bom Jesus do Sul', -26.1958000, -53.5955000), -(4103206, 41, 'Bom Sucesso', -23.7063000, -51.7671000), -(4103222, 41, 'Bom Sucesso do Sul', -26.0731000, -52.8353000), -(4103305, 41, 'Borrazópolis', -23.9366000, -51.5875000), -(4103354, 41, 'Braganey', -24.8173000, -53.1218000), -(4103370, 41, 'Brasilândia do Sul', -24.1978000, -53.5275000), -(4103404, 41, 'Cafeara', -22.7890000, -51.7142000), -(4103453, 41, 'Cafelândia', -24.6189000, -53.3207000), -(4103479, 41, 'Cafezal do Sul', -23.9005000, -53.5124000), -(4103503, 41, 'Califórnia', -23.6566000, -51.3574000), -(4103602, 41, 'Cambará', -23.0423000, -50.0753000), -(4103701, 41, 'Cambé', -23.2766000, -51.2798000), -(4103800, 41, 'Cambira', -23.5890000, -51.5792000), -(4103909, 41, 'Campina da Lagoa', -24.5893000, -52.7976000), -(4103958, 41, 'Campina do Simão', -25.0802000, -51.8237000), -(4104006, 41, 'Campina Grande do Sul', -25.3044000, -49.0551000), -(4104055, 41, 'Campo Bonito', -25.0294000, -52.9939000), -(4104105, 41, 'Campo do Tenente', -25.9800000, -49.6844000), -(4104204, 41, 'Campo Largo', -25.4525000, -49.5290000), -(4104253, 41, 'Campo Magro', -25.3687000, -49.4501000), -(4104303, 41, 'Campo Mourão', -24.0463000, -52.3780000), -(4104402, 41, 'Cândido de Abreu', -24.5649000, -51.3372000), -(4104428, 41, 'Candói', -25.5758000, -52.0409000), -(4104451, 41, 'Cantagalo', -25.3734000, -52.1198000), -(4104501, 41, 'Capanema', -25.6691000, -53.8055000), -(4104600, 41, 'Capitão Leônidas Marques', -25.4816000, -53.6112000), -(4104659, 41, 'Carambeí', -24.9152000, -50.0986000), -(4104709, 41, 'Carlópolis', -23.4269000, -49.7235000), -(4104808, 41, 'Cascavel', -24.9573000, -53.4590000), -(4104907, 41, 'Castro', -24.7891000, -50.0108000), -(4105003, 41, 'Catanduvas', -25.2044000, -53.1548000), -(4105102, 41, 'Centenário do Sul', -22.8188000, -51.5973000), -(4105201, 41, 'Cerro Azul', -26.0891000, -52.8691000), -(4105300, 41, 'Céu Azul', -25.1489000, -53.8415000), -(4105409, 41, 'Chopinzinho', -25.8515000, -52.5173000), -(4105508, 41, 'Cianorte', -23.6599000, -52.6054000), -(4105607, 41, 'Cidade Gaúcha', -23.3772000, -52.9436000), -(4105706, 41, 'Clevelândia', -26.4043000, -52.3508000), -(4105805, 41, 'Colombo', -25.2925000, -49.2262000), -(4105904, 41, 'Colorado', -22.8374000, -51.9743000), -(4106001, 41, 'Congonhinhas', -23.5493000, -50.5569000), -(4106100, 41, 'Conselheiro Mairinck', -23.6230000, -50.1707000), -(4106209, 41, 'Contenda', -25.6788000, -49.5350000), -(4106308, 41, 'Corbélia', -24.7971000, -53.3006000), -(4106407, 41, 'Cornélio Procópio', -23.1829000, -50.6498000), -(4106456, 41, 'Coronel Domingos Soares', -26.2277000, -52.0356000), -(4106506, 41, 'Coronel Vivida', -25.9767000, -52.5641000), -(4106555, 41, 'Corumbataí do Sul', -24.1010000, -52.1177000), -(4106571, 41, 'Cruzeiro do Iguaçu', -25.6192000, -53.1285000), -(4106605, 41, 'Cruzeiro do Oeste', -23.7799000, -53.0774000), -(4106704, 41, 'Cruzeiro do Sul', -22.9624000, -52.1622000), -(4106803, 41, 'Cruz Machado', -26.0166000, -51.3430000), -(4106852, 41, 'Cruzmaltina', -24.0132000, -51.4563000), -(4106902, 41, 'Curitiba', -25.4195000, -49.2646000), -(4107009, 41, 'Curiúva', -24.0362000, -50.4576000), -(4107108, 41, 'Diamante do Norte', -22.6550000, -52.8617000), -(4107124, 41, 'Diamante do Sul', -25.0350000, -52.6768000), -(4107157, 41, "Diamante D'Oeste", -24.9419000, -54.1052000), -(4107207, 41, 'Dois Vizinhos', -25.7407000, -53.0570000), -(4107256, 41, 'Douradina', -23.3807000, -53.2918000), -(4107306, 41, 'Doutor Camargo', -23.5582000, -52.2178000), -(4107405, 41, 'Enéas Marques', -25.9445000, -53.1659000), -(4107504, 41, 'Engenheiro Beltrão', -23.7970000, -52.2659000), -(4107520, 41, 'Esperança Nova', -23.7238000, -53.8110000), -(4107538, 41, 'Entre Rios do Oeste', -24.7042000, -54.2385000), -(4107546, 41, 'Espigão Alto do Iguaçu', -25.4216000, -52.8348000), -(4107553, 41, 'Farol', -24.0958000, -52.6217000), -(4107603, 41, 'Faxinal', -24.0077000, -51.3227000), -(4107652, 41, 'Fazenda Rio Grande', -25.6624000, -49.3073000), -(4107702, 41, 'Fênix', -23.9135000, -51.9805000), -(4107736, 41, 'Fernandes Pinheiro', -25.4107000, -50.5456000), -(4107751, 41, 'Figueira', -23.8455000, -50.4031000), -(4107801, 41, 'Floraí', -23.3178000, -52.3029000), -(4107850, 41, 'Flor da Serra do Sul', -26.2523000, -53.3092000), -(4107900, 41, 'Floresta', -23.6031000, -52.0807000), -(4108007, 41, 'Florestópolis', -22.8623000, -51.3882000), -(4108106, 41, 'Flórida', -23.0847000, -51.9546000), -(4108205, 41, 'Formosa do Oeste', -24.2951000, -53.3114000), -(4108304, 41, 'Foz do Iguaçu', -25.5427000, -54.5827000), -(4108320, 41, 'Francisco Alves', -24.0667000, -53.8461000), -(4108403, 41, 'Francisco Beltrão', -26.0817000, -53.0535000), -(4108452, 41, 'Foz do Jordão', -25.7371000, -52.1188000), -(4108502, 41, 'General Carneiro', -26.4250000, -51.3172000), -(4108551, 41, 'Godoy Moreira', -24.1730000, -51.9246000), -(4108601, 41, 'Goioerê', -24.1835000, -53.0248000), -(4108650, 41, 'Goioxim', -25.1927000, -51.9911000), -(4108700, 41, 'Grandes Rios', -24.1466000, -51.5094000), -(4108809, 41, 'Guaíra', -24.0850000, -54.2573000), -(4108908, 41, 'Guairaçá', -22.9320000, -52.6906000), -(4108957, 41, 'Guamiranga', -25.1912000, -50.8021000), -(4109005, 41, 'Guapirama', -23.5203000, -50.0407000), -(4109104, 41, 'Guaporema', -23.3402000, -52.7786000), -(4109203, 41, 'Guaraci', -22.9694000, -51.6504000), -(4109302, 41, 'Guaraniaçu', -25.0968000, -52.8755000), -(4109401, 41, 'Guarapuava', -25.3902000, -51.4623000), -(4109500, 41, 'Guaraqueçaba', -25.3071000, -48.3204000), -(4109609, 41, 'Guaratuba', -25.8817000, -48.5752000), -(4109658, 41, 'Honório Serpa', -26.1390000, -52.3848000), -(4109708, 41, 'Ibaiti', -23.8478000, -50.1932000), -(4109757, 41, 'Ibema', -25.1193000, -53.0072000), -(4109807, 41, 'Ibiporã', -23.2659000, -51.0522000), -(4109906, 41, 'Icaraíma', -23.3944000, -53.6150000), -(4110003, 41, 'Iguaraçu', -23.1949000, -51.8256000), -(4110052, 41, 'Iguatu', -24.7153000, -53.0827000), -(4110078, 41, 'Imbaú', -24.4480000, -50.7533000), -(4110102, 41, 'Imbituva', -25.2285000, -50.5989000), -(4110201, 41, 'Inácio Martins', -25.5704000, -51.0769000), -(4110300, 41, 'Inajá', -22.7509000, -52.1995000), -(4110409, 41, 'Indianópolis', -23.4762000, -52.6989000), -(4110508, 41, 'Ipiranga', -25.0238000, -50.5794000), -(4110607, 41, 'Iporã', -24.0083000, -53.7060000), -(4110656, 41, 'Iracema do Oeste', -24.4262000, -53.3528000), -(4110706, 41, 'Irati', -25.4697000, -50.6493000), -(4110805, 41, 'Iretama', -24.4253000, -52.1012000), -(4110904, 41, 'Itaguajé', -22.6183000, -51.9674000), -(4110953, 41, 'Itaipulândia', -25.1366000, -54.3001000), -(4111001, 41, 'Itambaracá', -23.0181000, -50.4097000), -(4111100, 41, 'Itambé', -23.6601000, -51.9912000), -(4111209, 41, "Itapejara d'Oeste", -25.9619000, -52.8152000), -(4111258, 41, 'Itaperuçu', -25.2193000, -49.3454000), -(4111308, 41, 'Itaúna do Sul', -22.7289000, -52.8874000), -(4111407, 41, 'Ivaí', -25.0067000, -50.8570000), -(4111506, 41, 'Ivaiporã', -24.2485000, -51.6754000), -(4111555, 41, 'Ivaté', -23.4072000, -53.3687000), -(4111605, 41, 'Ivatuba', -23.6187000, -52.2203000), -(4111704, 41, 'Jaboti', -23.7435000, -50.0729000), -(4111803, 41, 'Jacarezinho', -23.1591000, -49.9739000), -(4111902, 41, 'Jaguapitã', -23.1104000, -51.5342000), -(4112009, 41, 'Jaguariaíva', -24.2439000, -49.7066000), -(4112108, 41, 'Jandaia do Sul', -23.6011000, -51.6448000), -(4112207, 41, 'Janiópolis', -24.1401000, -52.7784000), -(4112306, 41, 'Japira', -23.8142000, -50.1422000), -(4112405, 41, 'Japurá', -23.4693000, -52.5557000), -(4112504, 41, 'Jardim Alegre', -24.1809000, -51.6902000), -(4112603, 41, 'Jardim Olinda', -22.5523000, -52.0503000), -(4112702, 41, 'Jataizinho', -23.2578000, -50.9777000), -(4112751, 41, 'Jesuítas', -24.3839000, -53.3849000), -(4112801, 41, 'Joaquim Távora', -23.4987000, -49.9090000), -(4112900, 41, 'Jundiaí do Sul', -23.4357000, -50.2496000), -(4112959, 41, 'Juranda', -24.4209000, -52.8413000), -(4113007, 41, 'Jussara', -23.6219000, -52.4693000), -(4113106, 41, 'Kaloré', -23.8188000, -51.6687000), -(4113205, 41, 'Lapa', -25.7671000, -49.7168000), -(4113254, 41, 'Laranjal', -24.8862000, -52.4700000), -(4113304, 41, 'Laranjeiras do Sul', -25.4077000, -52.4109000), -(4113403, 41, 'Leópolis', -23.0818000, -50.7511000), -(4113429, 41, 'Lidianópolis', -24.1100000, -51.6506000), -(4113452, 41, 'Lindoeste', -25.2596000, -53.5733000), -(4113502, 41, 'Loanda', -22.9232000, -53.1362000), -(4113601, 41, 'Lobato', -23.0058000, -51.9524000), -(4113700, 41, 'Londrina', -23.3040000, -51.1691000), -(4113734, 41, 'Luiziana', -24.2853000, -52.2690000), -(4113759, 41, 'Lunardelli', -24.0821000, -51.7368000), -(4113809, 41, 'Lupionópolis', -22.7550000, -51.6601000), -(4113908, 41, 'Mallet', -25.8806000, -50.8173000), -(4114005, 41, 'Mamborê', -24.3170000, -52.5271000), -(4114104, 41, 'Mandaguaçu', -23.3458000, -52.0944000), -(4114203, 41, 'Mandaguari', -23.5446000, -51.6710000), -(4114302, 41, 'Mandirituba', -25.7770000, -49.3282000), -(4114351, 41, 'Manfrinópolis', -26.1441000, -53.3113000), -(4114401, 41, 'Mangueirinha', -25.9421000, -52.1743000), -(4114500, 41, 'Manoel Ribas', -24.5144000, -51.6658000), -(4114609, 41, 'Marechal Cândido Rondon', -24.5570000, -54.0571000), -(4114708, 41, 'Maria Helena', -23.6158000, -53.2053000), -(4114807, 41, 'Marialva', -23.4843000, -51.7928000), -(4114906, 41, 'Marilândia do Sul', -23.7425000, -51.3137000), -(4115002, 41, 'Marilena', -22.7336000, -53.0402000), -(4115101, 41, 'Mariluz', -24.0089000, -53.1432000), -(4115200, 41, 'Maringá', -23.4205000, -51.9333000), -(4115309, 41, 'Mariópolis', -26.3550000, -52.5532000), -(4115358, 41, 'Maripá', -24.4200000, -53.8286000), -(4115408, 41, 'Marmeleiro', -26.1472000, -53.0267000), -(4115457, 41, 'Marquinho', -25.1120000, -52.2497000), -(4115507, 41, 'Marumbi', -23.7058000, -51.6404000), -(4115606, 41, 'Matelândia', -25.2496000, -53.9935000), -(4115705, 41, 'Matinhos', -25.8237000, -48.5490000), -(4115739, 41, 'Mato Rico', -24.6995000, -52.1454000), -(4115754, 41, 'Mauá da Serra', -23.8988000, -51.2277000), -(4115804, 41, 'Medianeira', -25.2977000, -54.0943000), -(4115853, 41, 'Mercedes', -24.4538000, -54.1618000), -(4115903, 41, 'Mirador', -23.2550000, -52.7761000), -(4116000, 41, 'Miraselva', -22.9657000, -51.4846000), -(4116059, 41, 'Missal', -25.0919000, -54.2477000), -(4116109, 41, 'Moreira Sales', -24.0509000, -53.0102000), -(4116208, 41, 'Morretes', -25.4744000, -48.8345000), -(4116307, 41, 'Munhoz de Melo', -23.1487000, -51.7737000), -(4116406, 41, 'Nossa Senhora das Graças', -22.9129000, -51.7978000), -(4116505, 41, 'Nova Aliança do Ivaí', -23.1763000, -52.6032000), -(4116604, 41, 'Nova América da Colina', -23.3308000, -50.7168000), -(4116703, 41, 'Nova Aurora', -24.5289000, -53.2575000), -(4116802, 41, 'Nova Cantu', -24.6723000, -52.5661000), -(4116901, 41, 'Nova Esperança', -23.1820000, -52.2031000), -(4116950, 41, 'Nova Esperança do Sudoeste', -25.9004000, -53.2618000), -(4117008, 41, 'Nova Fátima', -23.4324000, -50.5665000), -(4117057, 41, 'Nova Laranjeiras', -25.3054000, -52.5447000), -(4117107, 41, 'Nova Londrina', -22.7639000, -52.9868000), -(4117206, 41, 'Nova Olímpia', -23.4703000, -53.0898000), -(4117214, 41, 'Nova Santa Bárbara', -23.5865000, -50.7598000), -(4117222, 41, 'Nova Santa Rosa', -24.4693000, -53.9552000), -(4117255, 41, 'Nova Prata do Iguaçu', -25.6309000, -53.3469000), -(4117271, 41, 'Nova Tebas', -24.4380000, -51.9454000), -(4117297, 41, 'Novo Itacolomi', -23.7631000, -51.5079000), -(4117305, 41, 'Ortigueira', -24.2058000, -50.9185000), -(4117404, 41, 'Ourizona', -23.4053000, -52.1964000), -(4117453, 41, 'Ouro Verde do Oeste', -24.7933000, -53.9043000), -(4117503, 41, 'Paiçandu', -23.4555000, -52.0460000), -(4117602, 41, 'Palmas', -26.4839000, -51.9888000), -(4117701, 41, 'Palmeira', -25.4257000, -50.0070000), -(4117800, 41, 'Palmital', -24.8853000, -52.2029000), -(4117909, 41, 'Palotina', -24.2868000, -53.8404000), -(4118006, 41, 'Paraíso do Norte', -23.2824000, -52.6054000), -(4118105, 41, 'Paranacity', -22.9297000, -52.1549000), -(4118204, 41, 'Paranaguá', -25.5161000, -48.5225000), -(4118303, 41, 'Paranapoema', -22.6412000, -52.0905000), -(4118402, 41, 'Paranavaí', -23.0816000, -52.4617000), -(4118451, 41, 'Pato Bragado', -24.6271000, -54.2265000), -(4118501, 41, 'Pato Branco', -26.2292000, -52.6706000), -(4118600, 41, 'Paula Freitas', -26.2105000, -50.9310000), -(4118709, 41, 'Paulo Frontin', -26.0466000, -50.8304000), -(4118808, 41, 'Peabiru', -23.9140000, -52.3431000), -(4118857, 41, 'Perobal', -23.8949000, -53.4098000), -(4118907, 41, 'Pérola', -23.8039000, -53.6834000), -(4119004, 41, "Pérola d'Oeste", -25.8278000, -53.7433000), -(4119103, 41, 'Piên', -26.0965000, -49.4336000), -(4119152, 41, 'Pinhais', -25.4429000, -49.1927000), -(4119202, 41, 'Pinhalão', -23.7982000, -50.0536000), -(4119251, 41, 'Pinhal de São Bento', -26.0324000, -53.4820000), -(4119301, 41, 'Pinhão', -25.6944000, -51.6536000), -(4119400, 41, 'Piraí do Sul', -24.5306000, -49.9433000), -(4119509, 41, 'Piraquara', -25.4422000, -49.0624000), -(4119608, 41, 'Pitanga', -24.7588000, -51.7596000), -(4119657, 41, 'Pitangueiras', -23.2281000, -51.5873000), -(4119707, 41, 'Planaltina do Paraná', -23.0101000, -52.9162000), -(4119806, 41, 'Planalto', -25.7211000, -53.7642000), -(4119905, 41, 'Ponta Grossa', -25.0916000, -50.1668000), -(4119954, 41, 'Pontal do Paraná', -25.6735000, -48.5111000), -(4120002, 41, 'Porecatu', -22.7537000, -51.3795000), -(4120101, 41, 'Porto Amazonas', -25.5400000, -49.8946000), -(4120150, 41, 'Porto Barreiro', -25.5477000, -52.4067000), -(4120200, 41, 'Porto Rico', -22.7747000, -53.2677000), -(4120309, 41, 'Porto Vitória', -26.1674000, -51.2310000), -(4120333, 41, 'Prado Ferreira', -23.0357000, -51.4429000), -(4120358, 41, 'Pranchita', -26.0209000, -53.7397000), -(4120408, 41, 'Presidente Castelo Branco', -23.2782000, -52.1536000), -(4120507, 41, 'Primeiro de Maio', -22.8517000, -51.0293000), -(4120606, 41, 'Prudentópolis', -25.2111000, -50.9754000), -(4120655, 41, 'Quarto Centenário', -24.2775000, -53.0759000), -(4120705, 41, 'Quatiguá', -23.5671000, -49.9160000), -(4120804, 41, 'Quatro Barras', -25.3673000, -49.0763000), -(4120853, 41, 'Quatro Pontes', -24.5752000, -53.9759000), -(4120903, 41, 'Quedas do Iguaçu', -25.4492000, -52.9102000), -(4121000, 41, 'Querência do Norte', -23.0838000, -53.4830000), -(4121109, 41, 'Quinta do Sol', -23.8533000, -52.1309000), -(4121208, 41, 'Quitandinha', -25.8734000, -49.4973000), -(4121257, 41, 'Ramilândia', -25.1195000, -54.0230000), -(4121307, 41, 'Rancho Alegre', -23.0676000, -50.9145000), -(4121356, 41, "Rancho Alegre D'Oeste", -24.3065000, -52.9552000), -(4121406, 41, 'Realeza', -25.7711000, -53.5260000), -(4121505, 41, 'Rebouças', -25.6232000, -50.6877000), -(4121604, 41, 'Renascença', -26.1588000, -52.9703000), -(4121703, 41, 'Reserva', -24.6492000, -50.8466000), -(4121752, 41, 'Reserva do Iguaçu', -25.8319000, -52.0272000), -(4121802, 41, 'Ribeirão Claro', -23.1941000, -49.7597000), -(4121901, 41, 'Ribeirão do Pinhal', -23.4091000, -50.3601000), -(4122008, 41, 'Rio Azul', -25.7306000, -50.7985000), -(4122107, 41, 'Rio Bom', -23.7606000, -51.4122000), -(4122156, 41, 'Rio Bonito do Iguaçu', -25.4874000, -52.5292000), -(4122172, 41, 'Rio Branco do Ivaí', -24.3244000, -51.3187000), -(4122206, 41, 'Rio Branco do Sul', -25.1892000, -49.3115000), -(4122305, 41, 'Rio Negro', -26.0950000, -49.7982000), -(4122404, 41, 'Rolândia', -23.3101000, -51.3659000), -(4122503, 41, 'Roncador', -24.5958000, -52.2716000), -(4122602, 41, 'Rondon', -23.4120000, -52.7659000), -(4122651, 41, 'Rosário do Ivaí', -24.2682000, -51.2720000), -(4122701, 41, 'Sabáudia', -23.3155000, -51.5550000), -(4122800, 41, 'Salgado Filho', -26.1777000, -53.3631000), -(4122909, 41, 'Salto do Itararé', -23.6074000, -49.6354000), -(4123006, 41, 'Salto do Lontra', -25.7813000, -53.3135000), -(4123105, 41, 'Santa Amélia', -23.2654000, -50.4288000), -(4123204, 41, 'Santa Cecília do Pavão', -23.5201000, -50.7835000), -(4123303, 41, 'Santa Cruz de Monte Castelo', -22.9582000, -53.2949000), -(4123402, 41, 'Santa Fé', -23.0400000, -51.8080000), -(4123501, 41, 'Santa Helena', -24.8585000, -54.3360000), -(4123600, 41, 'Santa Inês', -22.6376000, -51.9024000), -(4123709, 41, 'Santa Isabel do Ivaí', -23.0025000, -53.1989000), -(4123808, 41, 'Santa Izabel do Oeste', -25.8217000, -53.4801000), -(4123824, 41, 'Santa Lúcia', -25.4104000, -53.5638000), -(4123857, 41, 'Santa Maria do Oeste', -24.9377000, -51.8696000), -(4123907, 41, 'Santa Mariana', -23.1465000, -50.5167000), -(4123956, 41, 'Santa Mônica', -23.1080000, -53.1103000), -(4124004, 41, 'Santana do Itararé', -23.7587000, -49.6293000), -(4124020, 41, 'Santa Tereza do Oeste', -25.0543000, -53.6274000), -(4124053, 41, 'Santa Terezinha de Itaipu', -25.4391000, -54.4020000), -(4124103, 41, 'Santo Antônio da Platina', -23.2959000, -50.0815000), -(4124202, 41, 'Santo Antônio do Caiuá', -22.7351000, -52.3440000), -(4124301, 41, 'Santo Antônio do Paraíso', -23.4969000, -50.6455000), -(4124400, 41, 'Santo Antônio do Sudoeste', -26.0737000, -53.7251000), -(4124509, 41, 'Santo Inácio', -22.6957000, -51.7969000), -(4124608, 41, 'São Carlos do Ivaí', -23.3158000, -52.4761000), -(4124707, 41, 'São Jerônimo da Serra', -23.7218000, -50.7475000), -(4124806, 41, 'São João', -25.8214000, -52.7252000), -(4124905, 41, 'São João do Caiuá', -22.8535000, -52.3411000), -(4125001, 41, 'São João do Ivaí', -23.9833000, -51.8215000), -(4125100, 41, 'São João do Triunfo', -25.6830000, -50.2949000), -(4125209, 41, "São Jorge d'Oeste", -25.7085000, -52.9204000), -(4125308, 41, 'São Jorge do Ivaí', -23.4336000, -52.2929000), -(4125357, 41, 'São Jorge do Patrocínio', -23.7647000, -53.8823000), -(4125407, 41, 'São José da Boa Vista', -23.9122000, -49.6577000), -(4125456, 41, 'São José das Palmeiras', -24.8369000, -54.0572000), -(4125506, 41, 'São José dos Pinhais', -25.5313000, -49.2031000), -(4125555, 41, 'São Manoel do Paraná', -23.3941000, -52.6454000), -(4125605, 41, 'São Mateus do Sul', -25.8677000, -50.3840000), -(4125704, 41, 'São Miguel do Iguaçu', -25.3492000, -54.2405000), -(4125753, 41, 'São Pedro do Iguaçu', -24.9373000, -53.8521000), -(4125803, 41, 'São Pedro do Ivaí', -23.8634000, -51.8568000), -(4125902, 41, 'São Pedro do Paraná', -22.8239000, -53.2241000), -(4126009, 41, 'São Sebastião da Amoreira', -23.4656000, -50.7625000), -(4126108, 41, 'São Tomé', -23.5349000, -52.5901000), -(4126207, 41, 'Sapopema', -23.9078000, -50.5801000), -(4126256, 41, 'Sarandi', -23.4441000, -51.8760000), -(4126272, 41, 'Saudade do Iguaçu', -25.6917000, -52.6184000), -(4126306, 41, 'Sengés', -24.1129000, -49.4616000), -(4126355, 41, 'Serranópolis do Iguaçu', -25.3799000, -54.0518000), -(4126405, 41, 'Sertaneja', -23.0361000, -50.8317000), -(4126504, 41, 'Sertanópolis', -23.0571000, -51.0399000), -(4126603, 41, 'Siqueira Campos', -23.6875000, -49.8304000), -(4126652, 41, 'Sulina', -25.7066000, -52.7299000), -(4126678, 41, 'Tamarana', -23.7204000, -51.0991000), -(4126702, 41, 'Tamboara', -23.2036000, -52.4743000), -(4126801, 41, 'Tapejara', -23.7315000, -52.8735000), -(4126900, 41, 'Tapira', -23.3193000, -53.0684000), -(4127007, 41, 'Teixeira Soares', -25.3701000, -50.4571000), -(4127106, 41, 'Telêmaco Borba', -24.3245000, -50.6176000), -(4127205, 41, 'Terra Boa', -23.7683000, -52.4470000), -(4127304, 41, 'Terra Rica', -22.7111000, -52.6188000), -(4127403, 41, 'Terra Roxa', -24.1575000, -54.0988000), -(4127502, 41, 'Tibagi', -24.5153000, -50.4176000), -(4127601, 41, 'Tijucas do Sul', -25.9311000, -49.1950000), -(4127700, 41, 'Toledo', -24.7246000, -53.7412000), -(4127809, 41, 'Tomazina', -23.7796000, -49.9499000), -(4127858, 41, 'Três Barras do Paraná', -25.4185000, -53.1833000), -(4127882, 41, 'Tunas do Paraná', -24.9731000, -49.0879000), -(4127908, 41, 'Tuneiras do Oeste', -23.8648000, -52.8769000), -(4127957, 41, 'Tupãssi', -24.5879000, -53.5105000), -(4127965, 41, 'Turvo', -25.0437000, -51.5282000), -(4128005, 41, 'Ubiratã', -24.5393000, -52.9865000), -(4128104, 41, 'Umuarama', -23.7656000, -53.3201000), -(4128203, 41, 'União da Vitória', -26.2273000, -51.0873000), -(4128302, 41, 'Uniflor', -23.0868000, -52.1573000), -(4128401, 41, 'Uraí', -23.2000000, -50.7939000), -(4128500, 41, 'Wenceslau Braz', -23.8742000, -49.8032000), -(4128534, 41, 'Ventania', -24.2458000, -50.2376000), -(4128559, 41, 'Vera Cruz do Oeste', -25.0577000, -53.8771000), -(4128609, 41, 'Verê', -25.8772000, -52.9051000), -(4128625, 41, 'Alto Paraíso', -26.1146000, -52.7469000), -(4128633, 41, 'Doutor Ulysses', -24.5665000, -49.4219000), -(4128658, 41, 'Virmond', -25.3829000, -52.1987000), -(4128708, 41, 'Vitorino', -26.2683000, -52.7843000), -(4128807, 41, 'Xambrê', -23.7364000, -53.4884000), -(4200051, 42, 'Abdon Batista', -27.6126000, -51.0233000), -(4200101, 42, 'Abelardo Luz', -26.5716000, -52.3229000), -(4200200, 42, 'Agrolândia', -27.4087000, -49.8220000), -(4200309, 42, 'Agronômica', -27.2662000, -49.7080000), -(4200408, 42, 'Água Doce', -26.9985000, -51.5528000), -(4200507, 42, 'Águas de Chapecó', -27.0754000, -52.9808000), -(4200556, 42, 'Águas Frias', -26.8794000, -52.8568000), -(4200606, 42, 'Águas Mornas', -27.6963000, -48.8243000), -(4200705, 42, 'Alfredo Wagner', -27.7001000, -49.3273000), -(4200754, 42, 'Alto Bela Vista', -27.4333000, -51.9044000), -(4200804, 42, 'Anchieta', -26.5382000, -53.3319000), -(4200903, 42, 'Angelina', -27.5704000, -48.9879000), -(4201000, 42, 'Anita Garibaldi', -27.6897000, -51.1271000), -(4201109, 42, 'Anitápolis', -27.9012000, -49.1316000), -(4201208, 42, 'Antônio Carlos', -27.5191000, -48.7660000), -(4201257, 42, 'Apiúna', -27.0375000, -49.3885000), -(4201273, 42, 'Arabutã', -27.1587000, -52.1423000), -(4201307, 42, 'Araquari', -26.3754000, -48.7188000), -(4201406, 42, 'Araranguá', -28.9356000, -49.4918000), -(4201505, 42, 'Armazém', -28.2448000, -49.0215000), -(4201604, 42, 'Arroio Trinta', -26.9257000, -51.3407000), -(4201653, 42, 'Arvoredo', -27.0748000, -52.4543000), -(4201703, 42, 'Ascurra', -26.9548000, -49.3783000), -(4201802, 42, 'Atalanta', -27.4219000, -49.7789000), -(4201901, 42, 'Aurora', -27.3098000, -49.6295000), -(4201950, 42, 'Balneário Arroio do Silva', -28.9806000, -49.4237000), -(4202008, 42, 'Balneário Camboriú', -26.9926000, -48.6352000), -(4202057, 42, 'Balneário Barra do Sul', -26.4597000, -48.6123000), -(4202073, 42, 'Balneário Gaivota', -29.1527000, -49.5841000), -(4202081, 42, 'Bandeirante', -26.7705000, -53.6413000), -(4202099, 42, 'Barra Bonita', -26.6540000, -53.4400000), -(4202107, 42, 'Barra Velha', -26.6370000, -48.6933000), -(4202131, 42, 'Bela Vista do Toldo', -26.2746000, -50.4664000), -(4202156, 42, 'Belmonte', -26.8430000, -53.5758000), -(4202206, 42, 'Benedito Novo', -26.7810000, -49.3593000), -(4202305, 42, 'Biguaçu', -27.4960000, -48.6598000), -(4202404, 42, 'Blumenau', -26.9155000, -49.0709000), -(4202438, 42, 'Bocaina do Sul', -27.7455000, -49.9423000), -(4202453, 42, 'Bombinhas', -27.1382000, -48.5146000), -(4202503, 42, 'Bom Jardim da Serra', -28.3377000, -49.6373000), -(4202537, 42, 'Bom Jesus', -26.7326000, -52.3919000), -(4202578, 42, 'Bom Jesus do Oeste', -26.6927000, -53.0967000), -(4202602, 42, 'Bom Retiro', -27.7990000, -49.4870000), -(4202701, 42, 'Botuverá', -27.2007000, -49.0689000), -(4202800, 42, 'Braço do Norte', -28.2681000, -49.1701000), -(4202859, 42, 'Braço do Trombudo', -27.3586000, -49.8821000), -(4202875, 42, 'Brunópolis', -27.3058000, -50.8684000), -(4202909, 42, 'Brusque', -27.0977000, -48.9107000), -(4203006, 42, 'Caçador', -26.7757000, -51.0120000), -(4203105, 42, 'Caibi', -27.0741000, -53.2458000), -(4203154, 42, 'Calmon', -26.5942000, -51.0950000), -(4203204, 42, 'Camboriú', -27.0241000, -48.6503000), -(4203253, 42, 'Capão Alto', -27.9389000, -50.5098000), -(4203303, 42, 'Campo Alegre', -26.1950000, -49.2676000), -(4203402, 42, 'Campo Belo do Sul', -27.8975000, -50.7595000), -(4203501, 42, 'Campo Erê', -26.3931000, -53.0856000), -(4203600, 42, 'Campos Novos', -27.4002000, -51.2276000), -(4203709, 42, 'Canelinha', -27.2616000, -48.7658000), -(4203808, 42, 'Canoinhas', -26.1766000, -50.3950000), -(4203907, 42, 'Capinzal', -27.3473000, -51.6057000), -(4203956, 42, 'Capivari de Baixo', -28.4498000, -48.9631000), -(4204004, 42, 'Catanduvas', -27.0690000, -51.6602000), -(4204103, 42, 'Caxambu do Sul', -27.1624000, -52.8807000), -(4204152, 42, 'Celso Ramos', -27.6327000, -51.3350000), -(4204178, 42, 'Cerro Negro', -27.7942000, -50.8673000), -(4204194, 42, 'Chapadão do Lageado', -27.5905000, -49.5539000), -(4204202, 42, 'Chapecó', -27.1004000, -52.6152000), -(4204251, 42, 'Cocal do Sul', -28.5986000, -49.3335000), -(4204301, 42, 'Concórdia', -27.2335000, -52.0260000), -(4204350, 42, 'Cordilheira Alta', -26.9844000, -52.6056000), -(4204400, 42, 'Coronel Freitas', -26.9057000, -52.7011000), -(4204459, 42, 'Coronel Martins', -26.5110000, -52.6694000), -(4204509, 42, 'Corupá', -26.4246000, -49.2460000), -(4204558, 42, 'Correia Pinto', -27.5877000, -50.3614000), -(4204608, 42, 'Criciúma', -28.6723000, -49.3729000), -(4204707, 42, 'Cunha Porã', -26.8950000, -53.1662000), -(4204756, 42, 'Cunhataí', -26.9709000, -53.0895000), -(4204806, 42, 'Curitibanos', -27.2824000, -50.5816000), -(4204905, 42, 'Descanso', -26.8270000, -53.5034000), -(4205001, 42, 'Dionísio Cerqueira', -26.2648000, -53.6351000), -(4205100, 42, 'Dona Emma', -26.9810000, -49.7261000), -(4205159, 42, 'Doutor Pedrinho', -26.7174000, -49.4795000), -(4205175, 42, 'Entre Rios', -26.7225000, -52.5585000), -(4205191, 42, 'Ermo', -28.9869000, -49.6430000), -(4205209, 42, 'Erval Velho', -27.2743000, -51.4430000), -(4205308, 42, 'Faxinal dos Guedes', -26.8451000, -52.2596000), -(4205357, 42, 'Flor do Sertão', -26.7811000, -53.3505000), -(4205407, 42, 'Florianópolis', -27.5945000, -48.5477000), -(4205431, 42, 'Formosa do Sul', -26.6453000, -52.7946000), -(4205456, 42, 'Forquilhinha', -28.7454000, -49.4785000), -(4205506, 42, 'Fraiburgo', -27.0233000, -50.9200000), -(4205555, 42, 'Frei Rogério', -27.1750000, -50.8076000), -(4205605, 42, 'Galvão', -26.4549000, -52.6875000), -(4205704, 42, 'Garopaba', -28.0275000, -48.6192000), -(4205803, 42, 'Garuva', -26.0292000, -48.8520000), -(4205902, 42, 'Gaspar', -26.9336000, -48.9534000), -(4206009, 42, 'Governador Celso Ramos', -27.3172000, -48.5576000), -(4206108, 42, 'Grão Pará', -28.1809000, -49.2252000), -(4206207, 42, 'Gravatal', -28.3208000, -49.0427000), -(4206306, 42, 'Guabiruba', -27.0808000, -48.9804000), -(4206405, 42, 'Guaraciaba', -26.6042000, -53.5243000), -(4206504, 42, 'Guaramirim', -26.4688000, -49.0026000), -(4206603, 42, 'Guarujá do Sul', -26.3858000, -53.5296000), -(4206652, 42, 'Guatambú', -27.1341000, -52.7887000), -(4206702, 42, "Herval d'Oeste", -27.1903000, -51.4917000), -(4206751, 42, 'Ibiam', -27.1847000, -51.2352000), -(4206801, 42, 'Ibicaré', -27.0881000, -51.3681000), -(4206900, 42, 'Ibirama', -27.0547000, -49.5193000), -(4207007, 42, 'Içara', -28.7132000, -49.3087000), -(4207106, 42, 'Ilhota', -26.9023000, -48.8251000), -(4207205, 42, 'Imaruí', -28.3339000, -48.8170000), -(4207304, 42, 'Imbituba', -28.2284000, -48.6659000), -(4207403, 42, 'Imbuia', -27.4908000, -49.4218000), -(4207502, 42, 'Indaial', -26.8992000, -49.2354000), -(4207577, 42, 'Iomerê', -27.0019000, -51.2442000), -(4207601, 42, 'Ipira', -27.4038000, -51.7758000), -(4207650, 42, 'Iporã do Oeste', -26.9854000, -53.5355000), -(4207684, 42, 'Ipuaçu', -26.6350000, -52.4556000), -(4207700, 42, 'Ipumirim', -27.0772000, -52.1289000), -(4207759, 42, 'Iraceminha', -26.8215000, -53.2767000), -(4207809, 42, 'Irani', -27.0287000, -51.9012000), -(4207858, 42, 'Irati', -26.6539000, -52.8955000), -(4207908, 42, 'Irineópolis', -26.2420000, -50.7957000), -(4208005, 42, 'Itá', -27.2907000, -52.3212000), -(4208104, 42, 'Itaiópolis', -26.3390000, -49.9092000), -(4208203, 42, 'Itajaí', -26.9101000, -48.6705000), -(4208302, 42, 'Itapema', -27.0861000, -48.6160000), -(4208401, 42, 'Itapiranga', -27.1659000, -53.7166000), -(4208450, 42, 'Itapoá', -26.1158000, -48.6182000), -(4208500, 42, 'Ituporanga', -27.4101000, -49.5963000), -(4208609, 42, 'Jaborá', -27.1782000, -51.7279000), -(4208708, 42, 'Jacinto Machado', -28.9961000, -49.7623000), -(4208807, 42, 'Jaguaruna', -28.6146000, -49.0296000), -(4208906, 42, 'Jaraguá do Sul', -26.4851000, -49.0713000), -(4208955, 42, 'Jardinópolis', -26.7191000, -52.8625000), -(4209003, 42, 'Joaçaba', -27.1721000, -51.5108000), -(4209102, 42, 'Joinville', -26.3045000, -48.8487000), -(4209151, 42, 'José Boiteux', -26.9566000, -49.6286000), -(4209177, 42, 'Jupiá', -26.3950000, -52.7298000), -(4209201, 42, 'Lacerdópolis', -27.2579000, -51.5577000), -(4209300, 42, 'Lages', -27.8150000, -50.3259000), -(4209409, 42, 'Laguna', -28.4843000, -48.7772000), -(4209458, 42, 'Lajeado Grande', -26.8576000, -52.5648000), -(4209508, 42, 'Laurentino', -27.2173000, -49.7331000), -(4209607, 42, 'Lauro Muller', -28.3859000, -49.4035000), -(4209706, 42, 'Lebon Régis', -26.9280000, -50.6921000), -(4209805, 42, 'Leoberto Leal', -27.5081000, -49.2789000), -(4209854, 42, 'Lindóia do Sul', -27.0545000, -52.0690000), -(4209904, 42, 'Lontras', -27.1684000, -49.5350000), -(4210001, 42, 'Luiz Alves', -26.7151000, -48.9322000), -(4210035, 42, 'Luzerna', -27.1304000, -51.4682000), -(4210050, 42, 'Macieira', -26.8552000, -51.3705000), -(4210100, 42, 'Mafra', -26.1159000, -49.8086000), -(4210209, 42, 'Major Gercino', -27.4192000, -48.9488000), -(4210308, 42, 'Major Vieira', -26.3709000, -50.3266000), -(4210407, 42, 'Maracajá', -28.8463000, -49.4605000), -(4210506, 42, 'Maravilha', -26.7665000, -53.1737000), -(4210555, 42, 'Marema', -26.8024000, -52.6264000), -(4210605, 42, 'Massaranduba', -26.6109000, -49.0054000), -(4210704, 42, 'Matos Costa', -26.4709000, -51.1501000), -(4210803, 42, 'Meleiro', -28.8244000, -49.6378000), -(4210852, 42, 'Mirim Doce', -27.1970000, -50.0786000), -(4210902, 42, 'Modelo', -26.7729000, -53.0400000), -(4211009, 42, 'Mondaí', -27.1008000, -53.4032000), -(4211058, 42, 'Monte Carlo', -27.2239000, -50.9808000), -(4211108, 42, 'Monte Castelo', -26.4610000, -50.2327000), -(4211207, 42, 'Morro da Fumaça', -28.6511000, -49.2169000), -(4211256, 42, 'Morro Grande', -28.8006000, -49.7214000), -(4211306, 42, 'Navegantes', -26.8943000, -48.6546000), -(4211405, 42, 'Nova Erechim', -26.8982000, -52.9066000), -(4211454, 42, 'Nova Itaberaba', -26.9428000, -52.8141000), -(4211504, 42, 'Nova Trento', -27.2780000, -48.9298000), -(4211603, 42, 'Nova Veneza', -28.6338000, -49.5055000), -(4211652, 42, 'Novo Horizonte', -26.4442000, -52.8281000), -(4211702, 42, 'Orleans', -28.3487000, -49.2986000), -(4211751, 42, 'Otacílio Costa', -27.4789000, -50.1231000), -(4211801, 42, 'Ouro', -27.3379000, -51.6194000), -(4211850, 42, 'Ouro Verde', -26.6920000, -52.3108000), -(4211876, 42, 'Paial', -27.2541000, -52.4975000), -(4211892, 42, 'Painel', -27.9234000, -50.0972000), -(4211900, 42, 'Palhoça', -27.6455000, -48.6697000), -(4212007, 42, 'Palma Sola', -26.3471000, -53.2771000), -(4212056, 42, 'Palmeira', -27.5830000, -50.1577000), -(4212106, 42, 'Palmitos', -27.0702000, -53.1586000), -(4212205, 42, 'Papanduva', -26.3777000, -50.1419000), -(4212239, 42, 'Paraíso', -26.6200000, -53.6716000), -(4212254, 42, 'Passo de Torres', -29.3099000, -49.7220000), -(4212270, 42, 'Passos Maia', -26.7829000, -52.0568000), -(4212304, 42, 'Paulo Lopes', -27.9607000, -48.6864000), -(4212403, 42, 'Pedras Grandes', -28.4339000, -49.1949000), -(4212502, 42, 'Penha', -26.7754000, -48.6465000), -(4212601, 42, 'Peritiba', -27.3754000, -51.9018000), -(4212650, 42, 'Pescaria Brava', -28.3966000, -48.8864000), -(4212700, 42, 'Petrolândia', -27.5346000, -49.6937000), -(4212809, 42, 'Balneário Piçarras', -26.7639000, -48.6717000), -(4212908, 42, 'Pinhalzinho', -26.8495000, -52.9913000), -(4213005, 42, 'Pinheiro Preto', -27.0483000, -51.2243000), -(4213104, 42, 'Piratuba', -27.4242000, -51.7668000), -(4213153, 42, 'Planalto Alegre', -27.0704000, -52.8670000), -(4213203, 42, 'Pomerode', -26.7384000, -49.1785000), -(4213302, 42, 'Ponte Alta', -27.4835000, -50.3764000), -(4213351, 42, 'Ponte Alta do Norte', -27.1591000, -50.4659000), -(4213401, 42, 'Ponte Serrada', -26.8733000, -52.0112000), -(4213500, 42, 'Porto Belo', -27.1586000, -48.5469000), -(4213609, 42, 'Porto União', -26.2451000, -51.0759000), -(4213708, 42, 'Pouso Redondo', -27.2567000, -49.9301000), -(4213807, 42, 'Praia Grande', -29.1918000, -49.9525000), -(4213906, 42, 'Presidente Castello Branco', -27.2218000, -51.8089000), -(4214003, 42, 'Presidente Getúlio', -27.0474000, -49.6246000), -(4214102, 42, 'Presidente Nereu', -27.2768000, -49.3889000), -(4214151, 42, 'Princesa', -26.4441000, -53.5994000), -(4214201, 42, 'Quilombo', -26.7264000, -52.7240000), -(4214300, 42, 'Rancho Queimado', -27.6727000, -49.0191000), -(4214409, 42, 'Rio das Antas', -26.8946000, -51.0674000), -(4214508, 42, 'Rio do Campo', -26.9452000, -50.1360000), -(4214607, 42, 'Rio do Oeste', -27.1952000, -49.7989000), -(4214706, 42, 'Rio dos Cedros', -26.7398000, -49.2718000), -(4214805, 42, 'Rio do Sul', -27.2156000, -49.6430000), -(4214904, 42, 'Rio Fortuna', -28.1244000, -49.1068000), -(4215000, 42, 'Rio Negrinho', -26.2591000, -49.5177000), -(4215059, 42, 'Rio Rufino', -27.8592000, -49.7754000), -(4215075, 42, 'Riqueza', -27.0653000, -53.3265000), -(4215109, 42, 'Rodeio', -26.9243000, -49.3649000), -(4215208, 42, 'Romelândia', -26.6809000, -53.3172000), -(4215307, 42, 'Salete', -26.9798000, -49.9988000), -(4215356, 42, 'Saltinho', -26.6049000, -53.0578000), -(4215406, 42, 'Salto Veloso', -26.9030000, -51.4043000), -(4215455, 42, 'Sangão', -28.6326000, -49.1322000), -(4215505, 42, 'Santa Cecília', -26.9592000, -50.4252000), -(4215554, 42, 'Santa Helena', -26.9370000, -53.6214000), -(4215604, 42, 'Santa Rosa de Lima', -28.0331000, -49.1330000), -(4215653, 42, 'Santa Rosa do Sul', -29.1313000, -49.7109000), -(4215679, 42, 'Santa Terezinha', -26.7813000, -50.0090000), -(4215687, 42, 'Santa Terezinha do Progresso', -26.6240000, -53.1997000), -(4215695, 42, 'Santiago do Sul', -26.6388000, -52.6799000), -(4215703, 42, 'Santo Amaro da Imperatriz', -27.6852000, -48.7813000), -(4215752, 42, 'São Bernardino', -26.4739000, -52.9687000), -(4215802, 42, 'São Bento do Sul', -26.2495000, -49.3831000), -(4215901, 42, 'São Bonifácio', -27.9009000, -48.9326000), -(4216008, 42, 'São Carlos', -27.0798000, -53.0037000), -(4216057, 42, 'São Cristovão do Sul', -27.2666000, -50.4388000), -(4216107, 42, 'São Domingos', -26.5548000, -52.5313000), -(4216206, 42, 'São Francisco do Sul', -26.2579000, -48.6344000), -(4216255, 42, 'São João do Oeste', -27.0984000, -53.5977000), -(4216305, 42, 'São João Batista', -27.2772000, -48.8474000), -(4216354, 42, 'São João do Itaperiú', -26.6213000, -48.7683000), -(4216404, 42, 'São João do Sul', -29.2154000, -49.8094000), -(4216503, 42, 'São Joaquim', -28.2887000, -49.9457000), -(4216602, 42, 'São José', -27.6136000, -48.6366000), -(4216701, 42, 'São José do Cedro', -26.4561000, -53.4955000), -(4216800, 42, 'São José do Cerrito', -27.6602000, -50.5733000), -(4216909, 42, 'São Lourenço do Oeste', -26.3557000, -52.8498000), -(4217006, 42, 'São Ludgero', -28.3144000, -49.1806000), -(4217105, 42, 'São Martinho', -28.1609000, -48.9867000), -(4217154, 42, 'São Miguel da Boa Vista', -26.6870000, -53.2511000), -(4217204, 42, 'São Miguel do Oeste', -26.7242000, -53.5163000), -(4217253, 42, 'São Pedro de Alcântara', -27.5665000, -48.8048000), -(4217303, 42, 'Saudades', -26.9317000, -53.0021000), -(4217402, 42, 'Schroeder', -26.4116000, -49.0740000), -(4217501, 42, 'Seara', -27.1564000, -52.2990000), -(4217550, 42, 'Serra Alta', -26.7229000, -53.0409000), -(4217600, 42, 'Siderópolis', -28.5955000, -49.4314000), -(4217709, 42, 'Sombrio', -29.1080000, -49.6328000), -(4217758, 42, 'Sul Brasil', -26.7351000, -52.9640000), -(4217808, 42, 'Taió', -27.1210000, -49.9942000), -(4217907, 42, 'Tangará', -27.0996000, -51.2473000), -(4217956, 42, 'Tigrinhos', -26.6876000, -53.1545000), -(4218004, 42, 'Tijucas', -27.2354000, -48.6322000), -(4218103, 42, 'Timbé do Sul', -28.8287000, -49.8420000), -(4218202, 42, 'Timbó', -26.8246000, -49.2690000), -(4218251, 42, 'Timbó Grande', -26.6127000, -50.6607000), -(4218301, 42, 'Três Barras', -26.1056000, -50.3197000), -(4218350, 42, 'Treviso', -28.5097000, -49.4634000), -(4218400, 42, 'Treze de Maio', -28.5537000, -49.1565000), -(4218509, 42, 'Treze Tílias', -27.0026000, -51.4084000), -(4218608, 42, 'Trombudo Central', -27.3033000, -49.7930000), -(4218707, 42, 'Tubarão', -28.4713000, -49.0144000), -(4218756, 42, 'Tunápolis', -26.9681000, -53.6417000), -(4218806, 42, 'Turvo', -28.9272000, -49.6831000), -(4218855, 42, 'União do Oeste', -26.7620000, -52.8541000), -(4218905, 42, 'Urubici', -28.0157000, -49.5925000), -(4218954, 42, 'Urupema', -27.9557000, -49.8729000), -(4219002, 42, 'Urussanga', -28.5180000, -49.3238000), -(4219101, 42, 'Vargeão', -26.8621000, -52.1549000), -(4219150, 42, 'Vargem', -27.4867000, -50.9724000), -(4219176, 42, 'Vargem Bonita', -27.0055000, -51.7402000), -(4219200, 42, 'Vidal Ramos', -27.3886000, -49.3593000), -(4219309, 42, 'Videira', -27.0086000, -51.1543000), -(4219358, 42, 'Vitor Meireles', -26.8782000, -49.8328000), -(4219408, 42, 'Witmarsum', -26.9275000, -49.7947000), -(4219507, 42, 'Xanxerê', -26.8747000, -52.4036000), -(4219606, 42, 'Xavantina', -27.0667000, -52.3430000), -(4219705, 42, 'Xaxim', -26.9596000, -52.5374000), -(4219853, 42, 'Zortéa', -27.4521000, -51.5520000), -(4220000, 42, 'Balneário Rincão', -28.8314000, -49.2352000), -(4300034, 43, 'Aceguá', -31.8665000, -54.1615000), -(4300059, 43, 'Água Santa', -28.1672000, -52.0310000), -(4300109, 43, 'Agudo', -29.6447000, -53.2515000), -(4300208, 43, 'Ajuricaba', -28.2342000, -53.7757000), -(4300307, 43, 'Alecrim', -27.6579000, -54.7649000), -(4300406, 43, 'Alegrete', -29.7902000, -55.7949000), -(4300455, 43, 'Alegria', -27.8345000, -54.0557000), -(4300471, 43, 'Almirante Tamandaré do Sul', -28.1149000, -52.9142000), -(4300505, 43, 'Alpestre', -27.2502000, -53.0341000), -(4300554, 43, 'Alto Alegre', -28.7769000, -52.9893000), -(4300570, 43, 'Alto Feliz', -29.3919000, -51.3123000), -(4300604, 43, 'Alvorada', -29.9914000, -51.0809000), -(4300638, 43, 'Amaral Ferrador', -30.8756000, -52.2509000), -(4300646, 43, 'Ametista do Sul', -27.3607000, -53.1830000), -(4300661, 43, 'André da Rocha', -28.6283000, -51.5797000), -(4300703, 43, 'Anta Gorda', -28.9698000, -52.0102000), -(4300802, 43, 'Antônio Prado', -28.8565000, -51.2883000), -(4300851, 43, 'Arambaré', -30.9092000, -51.5046000), -(4300877, 43, 'Araricá', -29.6168000, -50.9291000), -(4300901, 43, 'Aratiba', -27.3978000, -52.2975000), -(4301008, 43, 'Arroio do Meio', -29.4014000, -51.9557000), -(4301057, 43, 'Arroio do Sal', -29.5439000, -49.8895000), -(4301073, 43, 'Arroio do Padre', -31.4389000, -52.4246000), -(4301107, 43, 'Arroio dos Ratos', -30.0875000, -51.7275000), -(4301206, 43, 'Arroio do Tigre', -29.3348000, -53.0966000), -(4301305, 43, 'Arroio Grande', -32.2327000, -53.0862000), -(4301404, 43, 'Arvorezinha', -28.8737000, -52.1781000), -(4301503, 43, 'Augusto Pestana', -28.5172000, -53.9883000), -(4301552, 43, 'Áurea', -27.6936000, -52.0505000), -(4301602, 43, 'Bagé', -31.3297000, -54.0999000), -(4301636, 43, 'Balneário Pinhal', -30.2419000, -50.2337000), -(4301651, 43, 'Barão', -29.3725000, -51.4949000), -(4301701, 43, 'Barão de Cotegipe', -27.6208000, -52.3798000), -(4301750, 43, 'Barão do Triunfo', -30.3891000, -51.7384000), -(4301800, 43, 'Barracão', -27.6739000, -51.4585000), -(4301859, 43, 'Barra do Guarita', -27.1927000, -53.7109000), -(4301875, 43, 'Barra do Quaraí', -30.2029000, -57.5497000), -(4301909, 43, 'Barra do Ribeiro', -30.2939000, -51.3014000), -(4301925, 43, 'Barra do Rio Azul', -27.4069000, -52.4084000), -(4301958, 43, 'Barra Funda', -27.9205000, -53.0391000), -(4302006, 43, 'Barros Cassal', -29.0947000, -52.5836000), -(4302055, 43, 'Benjamin Constant do Sul', -27.5086000, -52.5995000), -(4302105, 43, 'Bento Gonçalves', -29.1662000, -51.5165000), -(4302154, 43, 'Boa Vista das Missões', -27.6671000, -53.3102000), -(4302204, 43, 'Boa Vista do Buricá', -27.6693000, -54.1082000), -(4302220, 43, 'Boa Vista do Cadeado', -28.5791000, -53.8108000), -(4302238, 43, 'Boa Vista do Incra', -28.8185000, -53.3910000), -(4302253, 43, 'Boa Vista do Sul', -29.3544000, -51.6687000), -(4302303, 43, 'Bom Jesus', -28.6697000, -50.4295000), -(4302352, 43, 'Bom Princípio', -29.4856000, -51.3548000), -(4302378, 43, 'Bom Progresso', -27.5399000, -53.8716000), -(4302402, 43, 'Bom Retiro do Sul', -29.6071000, -51.9456000), -(4302451, 43, 'Boqueirão do Leão', -29.3046000, -52.4284000), -(4302501, 43, 'Bossoroca', -28.7291000, -54.9035000), -(4302584, 43, 'Bozano', -28.3659000, -53.7720000), -(4302600, 43, 'Braga', -27.6173000, -53.7405000), -(4302659, 43, 'Brochier', -29.5501000, -51.5945000), -(4302709, 43, 'Butiá', -30.1179000, -51.9601000), -(4302808, 43, 'Caçapava do Sul', -30.5144000, -53.4827000), -(4302907, 43, 'Cacequi', -29.8883000, -54.8220000), -(4303004, 43, 'Cachoeira do Sul', -30.0330000, -52.8928000), -(4303103, 43, 'Cachoeirinha', -29.9472000, -51.1016000), -(4303202, 43, 'Cacique Doble', -27.7670000, -51.6597000), -(4303301, 43, 'Caibaté', -28.2905000, -54.6454000), -(4303400, 43, 'Caiçara', -27.2791000, -53.4257000), -(4303509, 43, 'Camaquã', -30.8489000, -51.8043000), -(4303558, 43, 'Camargo', -28.5880000, -52.2003000), -(4303608, 43, 'Cambará do Sul', -29.0474000, -50.1465000), -(4303673, 43, 'Campestre da Serra', -28.7926000, -51.0941000), -(4303707, 43, 'Campina das Missões', -27.9888000, -54.8416000), -(4303806, 43, 'Campinas do Sul', -27.7174000, -52.6248000), -(4303905, 43, 'Campo Bom', -29.6747000, -51.0606000), -(4304002, 43, 'Campo Novo', -27.6792000, -53.8052000), -(4304101, 43, 'Campos Borges', -28.8871000, -53.0008000), -(4304200, 43, 'Candelária', -29.6684000, -52.7895000), -(4304309, 43, 'Cândido Godói', -27.9515000, -54.7517000), -(4304358, 43, 'Candiota', -31.5516000, -53.6773000), -(4304408, 43, 'Canela', -29.3560000, -50.8119000), -(4304507, 43, 'Canguçu', -31.3960000, -52.6783000), -(4304606, 43, 'Canoas', -29.9128000, -51.1857000), -(4304614, 43, 'Canudos do Vale', -29.3271000, -52.2374000), -(4304622, 43, 'Capão Bonito do Sul', -28.1254000, -51.3961000), -(4304630, 43, 'Capão da Canoa', -29.7642000, -50.0282000), -(4304655, 43, 'Capão do Cipó', -28.9312000, -54.5558000), -(4304663, 43, 'Capão do Leão', -31.7565000, -52.4889000), -(4304671, 43, 'Capivari do Sul', -30.1383000, -50.5152000), -(4304689, 43, 'Capela de Santana', -29.6961000, -51.3280000), -(4304697, 43, 'Capitão', -29.2674000, -51.9853000), -(4304705, 43, 'Carazinho', -28.2958000, -52.7933000), -(4304713, 43, 'Caraá', -29.7869000, -50.4316000), -(4304804, 43, 'Carlos Barbosa', -29.2969000, -51.5028000), -(4304853, 43, 'Carlos Gomes', -27.7167000, -51.9121000), -(4304903, 43, 'Casca', -28.5605000, -51.9815000), -(4304952, 43, 'Caseiros', -28.2582000, -51.6861000), -(4305009, 43, 'Catuípe', -28.2554000, -54.0132000), -(4305108, 43, 'Caxias do Sul', -29.1629000, -51.1792000), -(4305116, 43, 'Centenário', -27.7615000, -51.9984000), -(4305124, 43, 'Cerrito', -31.8419000, -52.8004000), -(4305132, 43, 'Cerro Branco', -29.6570000, -52.9406000), -(4305157, 43, 'Cerro Grande', -27.6106000, -53.1672000), -(4305173, 43, 'Cerro Grande do Sul', -30.5905000, -51.7418000), -(4305207, 43, 'Cerro Largo', -28.1463000, -54.7428000), -(4305306, 43, 'Chapada', -28.0559000, -53.0665000), -(4305355, 43, 'Charqueadas', -29.9625000, -51.6289000), -(4305371, 43, 'Charrua', -27.9493000, -52.0150000), -(4305405, 43, 'Chiapetta', -27.9230000, -53.9419000), -(4305439, 43, 'Chuí', -33.6866000, -53.4594000), -(4305447, 43, 'Chuvisca', -30.7504000, -51.9737000), -(4305454, 43, 'Cidreira', -30.1604000, -50.2337000), -(4305504, 43, 'Ciríaco', -28.3419000, -51.8741000), -(4305587, 43, 'Colinas', -29.3948000, -51.8556000), -(4305603, 43, 'Colorado', -28.5258000, -52.9928000), -(4305702, 43, 'Condor', -28.2075000, -53.4905000), -(4305801, 43, 'Constantina', -27.7320000, -52.9938000), -(4305835, 43, 'Coqueiro Baixo', -29.1802000, -52.0942000), -(4305850, 43, 'Coqueiros do Sul', -28.1194000, -52.7842000), -(4305871, 43, 'Coronel Barros', -28.3921000, -54.0686000), -(4305900, 43, 'Coronel Bicaco', -27.7197000, -53.7022000), -(4305934, 43, 'Coronel Pilar', -29.2695000, -51.6847000), -(4305959, 43, 'Cotiporã', -28.9891000, -51.6971000), -(4305975, 43, 'Coxilha', -28.1280000, -52.3023000), -(4306007, 43, 'Crissiumal', -27.4999000, -54.0994000), -(4306056, 43, 'Cristal', -31.0046000, -52.0436000), -(4306072, 43, 'Cristal do Sul', -27.4520000, -53.2422000), -(4306106, 43, 'Cruz Alta', -28.6450000, -53.6048000), -(4306130, 43, 'Cruzaltense', -27.6672000, -52.6522000), -(4306205, 43, 'Cruzeiro do Sul', -29.5148000, -51.9928000), -(4306304, 43, 'David Canabarro', -28.3849000, -51.8482000), -(4306320, 43, 'Derrubadas', -27.2642000, -53.8645000), -(4306353, 43, 'Dezesseis de Novembro', -28.2190000, -55.0617000), -(4306379, 43, 'Dilermando de Aguiar', -29.7054000, -54.2122000), -(4306403, 43, 'Dois Irmãos', -29.5836000, -51.0898000), -(4306429, 43, 'Dois Irmãos das Missões', -27.6621000, -53.5304000), -(4306452, 43, 'Dois Lajeados', -28.9830000, -51.8396000), -(4306502, 43, 'Dom Feliciano', -30.7004000, -52.1026000), -(4306551, 43, 'Dom Pedro de Alcântara', -29.3639000, -49.8530000), -(4306601, 43, 'Dom Pedrito', -30.9756000, -54.6694000), -(4306700, 43, 'Dona Francisca', -29.6195000, -53.3617000), -(4306734, 43, 'Doutor Maurício Cardoso', -27.5103000, -54.3577000), -(4306759, 43, 'Doutor Ricardo', -29.0840000, -51.9972000), -(4306767, 43, 'Eldorado do Sul', -30.0847000, -51.6187000), -(4306809, 43, 'Encantado', -29.2351000, -51.8703000), -(4306908, 43, 'Encruzilhada do Sul', -30.5430000, -52.5204000), -(4306924, 43, 'Engenho Velho', -27.7060000, -52.9145000), -(4306932, 43, 'Entre-Ijuís', -28.3686000, -54.2686000), -(4306957, 43, 'Entre Rios do Sul', -27.5298000, -52.7347000), -(4306973, 43, 'Erebango', -27.8544000, -52.3005000), -(4307005, 43, 'Erechim', -27.6364000, -52.2697000), -(4307054, 43, 'Ernestina', -28.4977000, -52.5836000), -(4307104, 43, 'Herval', -32.0240000, -53.3944000), -(4307203, 43, 'Erval Grande', -27.3926000, -52.5740000), -(4307302, 43, 'Erval Seco', -27.5443000, -53.5005000), -(4307401, 43, 'Esmeralda', -28.0518000, -51.1933000), -(4307450, 43, 'Esperança do Sul', -27.3603000, -53.9891000), -(4307500, 43, 'Espumoso', -28.7286000, -52.8461000), -(4307559, 43, 'Estação', -27.9135000, -52.2635000), -(4307609, 43, 'Estância Velha', -29.6535000, -51.1843000), -(4307708, 43, 'Esteio', -29.8520000, -51.1841000), -(4307807, 43, 'Estrela', -29.5002000, -51.9495000), -(4307815, 43, 'Estrela Velha', -29.1713000, -53.1639000), -(4307831, 43, 'Eugênio de Castro', -28.5315000, -54.1506000), -(4307864, 43, 'Fagundes Varela', -28.8794000, -51.7014000), -(4307906, 43, 'Farroupilha', -29.2227000, -51.3419000), -(4308003, 43, 'Faxinal do Soturno', -29.5788000, -53.4484000), -(4308052, 43, 'Faxinalzinho', -27.4238000, -52.6789000), -(4308078, 43, 'Fazenda Vilanova', -29.5885000, -51.8217000), -(4308102, 43, 'Feliz', -29.4527000, -51.3032000), -(4308201, 43, 'Flores da Cunha', -29.0261000, -51.1875000), -(4308250, 43, 'Floriano Peixoto', -27.8614000, -52.0838000), -(4308300, 43, 'Fontoura Xavier', -28.9817000, -52.3445000), -(4308409, 43, 'Formigueiro', -30.0035000, -53.4959000), -(4308433, 43, 'Forquetinha', -29.3828000, -52.0981000), -(4308458, 43, 'Fortaleza dos Valos', -28.7986000, -53.2249000), -(4308508, 43, 'Frederico Westphalen', -27.3586000, -53.3958000), -(4308607, 43, 'Garibaldi', -29.2590000, -51.5352000), -(4308656, 43, 'Garruchos', -28.1944000, -55.6383000), -(4308706, 43, 'Gaurama', -27.5856000, -52.0915000), -(4308805, 43, 'General Câmara', -29.9032000, -51.7612000), -(4308854, 43, 'Gentil', -28.4316000, -52.0337000), -(4308904, 43, 'Getúlio Vargas', -27.8911000, -52.2294000), -(4309001, 43, 'Giruá', -28.0297000, -54.3517000), -(4309050, 43, 'Glorinha', -29.8798000, -50.7734000), -(4309100, 43, 'Gramado', -29.3734000, -50.8762000), -(4309126, 43, 'Gramado dos Loureiros', -27.4429000, -52.9149000), -(4309159, 43, 'Gramado Xavier', -29.2706000, -52.5795000), -(4309209, 43, 'Gravataí', -29.9413000, -50.9869000), -(4309258, 43, 'Guabiju', -28.5421000, -51.6948000), -(4309308, 43, 'Guaíba', -30.1086000, -51.3233000), -(4309407, 43, 'Guaporé', -28.8399000, -51.8895000), -(4309506, 43, 'Guarani das Missões', -28.1491000, -54.5629000), -(4309555, 43, 'Harmonia', -29.5456000, -51.4185000), -(4309571, 43, 'Herveiras', -29.4552000, -52.6553000), -(4309605, 43, 'Horizontina', -27.6282000, -54.3053000), -(4309654, 43, 'Hulha Negra', -31.4067000, -53.8667000), -(4309704, 43, 'Humaitá', -27.5691000, -53.9695000), -(4309753, 43, 'Ibarama', -29.4203000, -53.1295000), -(4309803, 43, 'Ibiaçá', -28.0566000, -51.8599000), -(4309902, 43, 'Ibiraiaras', -28.3741000, -51.6377000), -(4309951, 43, 'Ibirapuitã', -28.6247000, -52.5158000), -(4310009, 43, 'Ibirubá', -28.6302000, -53.0961000), -(4310108, 43, 'Igrejinha', -29.5693000, -50.7919000), -(4310207, 43, 'Ijuí', -28.3880000, -53.9200000), -(4310306, 43, 'Ilópolis', -28.9282000, -52.1258000), -(4310330, 43, 'Imbé', -29.9753000, -50.1281000), -(4310363, 43, 'Imigrante', -29.3508000, -51.7748000), -(4310405, 43, 'Independência', -27.8354000, -54.1886000), -(4310413, 43, 'Inhacorá', -27.8752000, -54.0150000), -(4310439, 43, 'Ipê', -28.8171000, -51.2859000), -(4310462, 43, 'Ipiranga do Sul', -27.9404000, -52.4271000), -(4310504, 43, 'Iraí', -27.1951000, -53.2543000), -(4310538, 43, 'Itaara', -29.6013000, -53.7725000), -(4310553, 43, 'Itacurubi', -28.7913000, -55.2447000), -(4310579, 43, 'Itapuca', -28.7768000, -52.1693000), -(4310603, 43, 'Itaqui', -29.1311000, -56.5515000), -(4310652, 43, 'Itati', -29.4974000, -50.1016000), -(4310702, 43, 'Itatiba do Sul', -27.3846000, -52.4538000), -(4310751, 43, 'Ivorá', -29.5232000, -53.5842000), -(4310801, 43, 'Ivoti', -29.5995000, -51.1533000), -(4310850, 43, 'Jaboticaba', -27.6347000, -53.2762000), -(4310876, 43, 'Jacuizinho', -29.0401000, -53.0657000), -(4310900, 43, 'Jacutinga', -27.7291000, -52.5372000), -(4311007, 43, 'Jaguarão', -32.5604000, -53.3770000), -(4311106, 43, 'Jaguari', -29.4936000, -54.7030000), -(4311122, 43, 'Jaquirana', -28.8811000, -50.3637000), -(4311130, 43, 'Jari', -29.2922000, -54.2237000), -(4311155, 43, 'Jóia', -28.6435000, -54.1141000), -(4311205, 43, 'Júlio de Castilhos', -29.2299000, -53.6772000), -(4311239, 43, 'Lagoa Bonita do Sul', -29.4939000, -53.0170000), -(4311254, 43, 'Lagoão', -29.2348000, -52.7997000), -(4311270, 43, 'Lagoa dos Três Cantos', -28.5676000, -52.8618000), -(4311304, 43, 'Lagoa Vermelha', -28.2093000, -51.5248000), -(4311403, 43, 'Lajeado', -29.4591000, -51.9644000), -(4311429, 43, 'Lajeado do Bugre', -27.6913000, -53.1818000), -(4311502, 43, 'Lavras do Sul', -30.8071000, -53.8931000), -(4311601, 43, 'Liberato Salzano', -27.6010000, -53.0753000), -(4311627, 43, 'Lindolfo Collor', -29.5859000, -51.2141000), -(4311643, 43, 'Linha Nova', -29.4679000, -51.2003000), -(4311700, 43, 'Machadinho', -27.5667000, -51.6668000), -(4311718, 43, 'Maçambará', -29.1445000, -56.0674000), -(4311734, 43, 'Mampituba', -29.2136000, -49.9311000), -(4311759, 43, 'Manoel Viana', -29.5859000, -55.4841000), -(4311775, 43, 'Maquiné', -29.6798000, -50.2079000), -(4311791, 43, 'Maratá', -29.5457000, -51.5573000), -(4311809, 43, 'Marau', -28.4498000, -52.1986000), -(4311908, 43, 'Marcelino Ramos', -27.4676000, -51.9095000), -(4311981, 43, 'Mariana Pimentel', -30.3530000, -51.5803000), -(4312005, 43, 'Mariano Moro', -27.3568000, -52.1467000), -(4312054, 43, 'Marques de Souza', -29.3311000, -52.0973000), -(4312104, 43, 'Mata', -29.5649000, -54.4641000), -(4312138, 43, 'Mato Castelhano', -28.2800000, -52.1932000), -(4312153, 43, 'Mato Leitão', -29.5285000, -52.1278000), -(4312179, 43, 'Mato Queimado', -28.2520000, -54.6159000), -(4312203, 43, 'Maximiliano de Almeida', -27.6325000, -51.8020000), -(4312252, 43, 'Minas do Leão', -30.1346000, -52.0423000), -(4312302, 43, 'Miraguaí', -27.4970000, -53.6891000), -(4312351, 43, 'Montauri', -28.6462000, -52.0767000), -(4312377, 43, 'Monte Alegre dos Campos', -28.6805000, -50.7834000), -(4312385, 43, 'Monte Belo do Sul', -29.1607000, -51.6333000), -(4312401, 43, 'Montenegro', -29.6824000, -51.4679000), -(4312427, 43, 'Mormaço', -28.6968000, -52.6999000), -(4312443, 43, 'Morrinhos do Sul', -29.3578000, -49.9328000), -(4312450, 43, 'Morro Redondo', -31.5887000, -52.6261000), -(4312476, 43, 'Morro Reuter', -29.5379000, -51.0811000), -(4312500, 43, 'Mostardas', -31.1054000, -50.9167000), -(4312609, 43, 'Muçum', -29.1630000, -51.8714000), -(4312617, 43, 'Muitos Capões', -28.3132000, -51.1836000), -(4312625, 43, 'Muliterno', -28.3253000, -51.7697000), -(4312658, 43, 'Não-Me-Toque', -28.4548000, -52.8182000), -(4312674, 43, 'Nicolau Vergueiro', -28.5298000, -52.4676000), -(4312708, 43, 'Nonoai', -27.3689000, -52.7756000), -(4312757, 43, 'Nova Alvorada', -28.6822000, -52.1631000), -(4312807, 43, 'Nova Araçá', -28.6537000, -51.7458000), -(4312906, 43, 'Nova Bassano', -28.7291000, -51.7072000), -(4312955, 43, 'Nova Boa Vista', -27.9926000, -52.9784000), -(4313003, 43, 'Nova Bréscia', -29.2182000, -52.0319000), -(4313011, 43, 'Nova Candelária', -27.6137000, -54.1074000), -(4313037, 43, 'Nova Esperança do Sul', -29.4066000, -54.8293000), -(4313060, 43, 'Nova Hartz', -29.5808000, -50.9051000), -(4313086, 43, 'Nova Pádua', -29.0275000, -51.3098000), -(4313102, 43, 'Nova Palma', -29.4710000, -53.4689000), -(4313201, 43, 'Nova Petrópolis', -29.3741000, -51.1136000), -(4313300, 43, 'Nova Prata', -28.7799000, -51.6113000), -(4313334, 43, 'Nova Ramada', -28.0667000, -53.6992000), -(4313359, 43, 'Nova Roma do Sul', -28.9882000, -51.4095000), -(4313375, 43, 'Nova Santa Rita', -29.8525000, -51.2837000), -(4313391, 43, 'Novo Cabrais', -29.7338000, -52.9489000), -(4313409, 43, 'Novo Hamburgo', -29.6875000, -51.1328000), -(4313425, 43, 'Novo Machado', -27.5765000, -54.5036000), -(4313441, 43, 'Novo Tiradentes', -27.5649000, -53.1837000), -(4313466, 43, 'Novo Xingu', -27.7490000, -53.0639000), -(4313490, 43, 'Novo Barreiro', -27.9077000, -53.1103000), -(4313508, 43, 'Osório', -29.8881000, -50.2667000), -(4313607, 43, 'Paim Filho', -27.7075000, -51.7630000), -(4313656, 43, 'Palmares do Sul', -30.2535000, -50.5103000), -(4313706, 43, 'Palmeira das Missões', -27.9007000, -53.3134000), -(4313805, 43, 'Palmitinho', -27.3596000, -53.5580000), -(4313904, 43, 'Panambi', -28.2833000, -53.5023000), -(4313953, 43, 'Pantano Grande', -30.1902000, -52.3729000), -(4314001, 43, 'Paraí', -28.5964000, -51.7896000), -(4314027, 43, 'Paraíso do Sul', -29.6717000, -53.1440000), -(4314035, 43, 'Pareci Novo', -29.6365000, -51.3974000), -(4314050, 43, 'Parobé', -29.6243000, -50.8312000), -(4314068, 43, 'Passa Sete', -29.4577000, -52.9599000), -(4314076, 43, 'Passo do Sobrado', -29.7480000, -52.2748000), -(4314100, 43, 'Passo Fundo', -28.2576000, -52.4091000), -(4314134, 43, 'Paulo Bento', -27.7051000, -52.4169000), -(4314159, 43, 'Paverama', -29.5486000, -51.7339000), -(4314175, 43, 'Pedras Altas', -31.7365000, -53.5814000), -(4314209, 43, 'Pedro Osório', -31.8642000, -52.8184000), -(4314308, 43, 'Pejuçara', -28.4283000, -53.6579000), -(4314407, 43, 'Pelotas', -31.7649000, -52.3371000), -(4314423, 43, 'Picada Café', -29.4464000, -51.1367000), -(4314456, 43, 'Pinhal', -27.5080000, -53.2082000), -(4314464, 43, 'Pinhal da Serra', -27.8751000, -51.1673000), -(4314472, 43, 'Pinhal Grande', -29.3450000, -53.3206000), -(4314498, 43, 'Pinheirinho do Vale', -27.2109000, -53.6080000), -(4314506, 43, 'Pinheiro Machado', -31.5794000, -53.3798000), -(4314548, 43, 'Pinto Bandeira', -29.0975000, -51.4503000), -(4314555, 43, 'Pirapó', -28.0439000, -55.2001000), -(4314605, 43, 'Piratini', -31.4473000, -53.0973000), -(4314704, 43, 'Planalto', -27.3297000, -53.0575000), -(4314753, 43, 'Poço das Antas', -29.4481000, -51.6719000), -(4314779, 43, 'Pontão', -28.0585000, -52.6791000), -(4314787, 43, 'Ponte Preta', -27.6587000, -52.4848000), -(4314803, 43, 'Portão', -29.7015000, -51.2429000), -(4314902, 43, 'Porto Alegre', -30.0318000, -51.2065000), -(4315008, 43, 'Porto Lucena', -27.8569000, -55.0100000), -(4315057, 43, 'Porto Mauá', -27.5796000, -54.6657000), -(4315073, 43, 'Porto Vera Cruz', -27.7405000, -54.8994000), -(4315107, 43, 'Porto Xavier', -27.9082000, -55.1379000), -(4315131, 43, 'Pouso Novo', -29.1738000, -52.2136000), -(4315149, 43, 'Presidente Lucena', -29.5175000, -51.1798000), -(4315156, 43, 'Progresso', -29.2441000, -52.3197000), -(4315172, 43, 'Protásio Alves', -28.7572000, -51.4757000), -(4315206, 43, 'Putinga', -29.0045000, -52.1569000), -(4315305, 43, 'Quaraí', -30.3840000, -56.4483000), -(4315313, 43, 'Quatro Irmãos', -27.8257000, -52.4424000), -(4315321, 43, 'Quevedos', -29.3504000, -54.0789000), -(4315354, 43, 'Quinze de Novembro', -28.7466000, -53.1011000), -(4315404, 43, 'Redentora', -27.6640000, -53.6407000), -(4315453, 43, 'Relvado', -29.1164000, -52.0778000), -(4315503, 43, 'Restinga Sêca', -29.8188000, -53.3807000), -(4315552, 43, 'Rio dos Índios', -27.2973000, -52.8417000), -(4315602, 43, 'Rio Grande', -32.0349000, -52.1071000), -(4315701, 43, 'Rio Pardo', -29.9880000, -52.3711000), -(4315750, 43, 'Riozinho', -29.6390000, -50.4488000), -(4315800, 43, 'Roca Sales', -29.2884000, -51.8658000), -(4315909, 43, 'Rodeio Bonito', -27.4742000, -53.1706000), -(4315958, 43, 'Rolador', -28.2566000, -54.8186000), -(4316006, 43, 'Rolante', -29.6462000, -50.5819000), -(4316105, 43, 'Ronda Alta', -27.7758000, -52.8056000), -(4316204, 43, 'Rondinha', -27.8315000, -52.9081000), -(4316303, 43, 'Roque Gonzales', -28.1297000, -55.0266000), -(4316402, 43, 'Rosário do Sul', -30.2515000, -54.9221000), -(4316428, 43, 'Sagrada Família', -27.7085000, -53.1351000), -(4316436, 43, 'Saldanha Marinho', -28.3941000, -53.0970000), -(4316451, 43, 'Salto do Jacuí', -29.0951000, -53.2133000), -(4316477, 43, 'Salvador das Missões', -28.1233000, -54.8373000), -(4316501, 43, 'Salvador do Sul', -29.4386000, -51.5077000), -(4316600, 43, 'Sananduva', -27.9470000, -51.8079000), -(4316709, 43, 'Santa Bárbara do Sul', -28.3653000, -53.2510000), -(4316733, 43, 'Santa Cecília do Sul', -28.1609000, -51.9279000), -(4316758, 43, 'Santa Clara do Sul', -29.4747000, -52.0843000), -(4316808, 43, 'Santa Cruz do Sul', -29.7220000, -52.4343000), -(4316907, 43, 'Santa Maria', -29.6868000, -53.8149000), -(4316956, 43, 'Santa Maria do Herval', -29.4902000, -50.9919000), -(4316972, 43, 'Santa Margarida do Sul', -30.3393000, -54.0817000), -(4317004, 43, 'Santana da Boa Vista', -30.8697000, -53.1100000), -(4317103, 43, "Sant'Ana do Livramento", -30.8773000, -55.5392000), -(4317202, 43, 'Santa Rosa', -27.8702000, -54.4796000), -(4317251, 43, 'Santa Tereza', -29.1655000, -51.7351000), -(4317301, 43, 'Santa Vitória do Palmar', -33.5250000, -53.3717000), -(4317400, 43, 'Santiago', -29.1897000, -54.8666000), -(4317509, 43, 'Santo Ângelo', -28.3001000, -54.2668000), -(4317558, 43, 'Santo Antônio do Palma', -28.4956000, -52.0267000), -(4317608, 43, 'Santo Antônio da Patrulha', -29.8268000, -50.5175000), -(4317707, 43, 'Santo Antônio das Missões', -28.5140000, -55.2251000), -(4317756, 43, 'Santo Antônio do Planalto', -28.4030000, -52.6992000), -(4317806, 43, 'Santo Augusto', -27.8526000, -53.7776000), -(4317905, 43, 'Santo Cristo', -27.8263000, -54.6620000), -(4317954, 43, 'Santo Expedito do Sul', -27.9074000, -51.6434000), -(4318002, 43, 'São Borja', -28.6578000, -56.0036000), -(4318051, 43, 'São Domingos do Sul', -28.5312000, -51.8860000), -(4318101, 43, 'São Francisco de Assis', -29.5547000, -55.1253000), -(4318200, 43, 'São Francisco de Paula', -29.4404000, -50.5828000), -(4318309, 43, 'São Gabriel', -30.3337000, -54.3217000), -(4318408, 43, 'São Jerônimo', -29.9716000, -51.7251000), -(4318424, 43, 'São João da Urtiga', -27.8195000, -51.8257000), -(4318432, 43, 'São João do Polêsine', -29.6194000, -53.4439000), -(4318440, 43, 'São Jorge', -28.4984000, -51.7064000), -(4318457, 43, 'São José das Missões', -27.7789000, -53.1226000), -(4318465, 43, 'São José do Herval', -29.0520000, -52.2950000), -(4318481, 43, 'São José do Hortêncio', -29.5280000, -51.2450000), -(4318499, 43, 'São José do Inhacorá', -27.7251000, -54.1275000), -(4318507, 43, 'São José do Norte', -32.0151000, -52.0331000), -(4318606, 43, 'São José do Ouro', -27.7707000, -51.5966000), -(4318614, 43, 'São José do Sul', -29.5448000, -51.4821000), -(4318622, 43, 'São José dos Ausentes', -28.7476000, -50.0677000), -(4318705, 43, 'São Leopoldo', -29.7545000, -51.1498000), -(4318804, 43, 'São Lourenço do Sul', -31.3564000, -51.9715000), -(4318903, 43, 'São Luiz Gonzaga', -28.4120000, -54.9559000), -(4319000, 43, 'São Marcos', -28.9677000, -51.0696000), -(4319109, 43, 'São Martinho', -27.7112000, -53.9699000), -(4319125, 43, 'São Martinho da Serra', -29.5397000, -53.8590000), -(4319158, 43, 'São Miguel das Missões', -28.5560000, -54.5559000), -(4319208, 43, 'São Nicolau', -28.1834000, -55.2654000), -(4319307, 43, 'São Paulo das Missões', -28.0195000, -54.9404000), -(4319356, 43, 'São Pedro da Serra', -29.4193000, -51.5134000), -(4319364, 43, 'São Pedro das Missões', -27.7706000, -53.2513000), -(4319372, 43, 'São Pedro do Butiá', -28.1243000, -54.8926000), -(4319406, 43, 'São Pedro do Sul', -29.6202000, -54.1855000), -(4319505, 43, 'São Sebastião do Caí', -29.5885000, -51.3749000), -(4319604, 43, 'São Sepé', -30.1643000, -53.5603000), -(4319703, 43, 'São Valentim', -27.5583000, -52.5237000), -(4319711, 43, 'São Valentim do Sul', -29.0451000, -51.7684000), -(4319737, 43, 'São Valério do Sul', -27.7906000, -53.9368000), -(4319752, 43, 'São Vendelino', -29.3729000, -51.3675000), -(4319802, 43, 'São Vicente do Sul', -29.6882000, -54.6826000), -(4319901, 43, 'Sapiranga', -29.6349000, -51.0064000), -(4320008, 43, 'Sapucaia do Sul', -29.8276000, -51.1450000), -(4320107, 43, 'Sarandi', -27.9420000, -52.9231000), -(4320206, 43, 'Seberi', -27.4829000, -53.4026000), -(4320230, 43, 'Sede Nova', -27.6367000, -53.9493000), -(4320263, 43, 'Segredo', -29.3523000, -52.9767000), -(4320305, 43, 'Selbach', -28.6294000, -52.9498000), -(4320321, 43, 'Senador Salgado Filho', -28.0250000, -54.5507000), -(4320354, 43, 'Sentinela do Sul', -30.6107000, -51.5862000), -(4320404, 43, 'Serafina Corrêa', -28.7126000, -51.9352000), -(4320453, 43, 'Sério', -29.3904000, -52.2685000), -(4320503, 43, 'Sertão', -27.9798000, -52.2588000), -(4320552, 43, 'Sertão Santana', -30.4562000, -51.6017000), -(4320578, 43, 'Sete de Setembro', -28.1362000, -54.4637000), -(4320602, 43, 'Severiano de Almeida', -27.4362000, -52.1217000), -(4320651, 43, 'Silveira Martins', -29.6467000, -53.5910000), -(4320677, 43, 'Sinimbu', -29.5357000, -52.5304000), -(4320701, 43, 'Sobradinho', -29.4194000, -53.0326000), -(4320800, 43, 'Soledade', -28.8306000, -52.5131000), -(4320859, 43, 'Tabaí', -29.6430000, -51.6823000), -(4320909, 43, 'Tapejara', -28.0652000, -52.0097000), -(4321006, 43, 'Tapera', -28.6277000, -52.8613000), -(4321105, 43, 'Tapes', -30.6683000, -51.3991000), -(4321204, 43, 'Taquara', -29.6505000, -50.7753000), -(4321303, 43, 'Taquari', -29.7943000, -51.8653000), -(4321329, 43, 'Taquaruçu do Sul', -27.4005000, -53.4702000), -(4321352, 43, 'Tavares', -31.2843000, -51.0880000), -(4321402, 43, 'Tenente Portela', -27.3711000, -53.7585000), -(4321436, 43, 'Terra de Areia', -29.5782000, -50.0644000), -(4321451, 43, 'Teutônia', -29.4482000, -51.8044000), -(4321469, 43, 'Tio Hugo', -28.5712000, -52.5955000), -(4321477, 43, 'Tiradentes do Sul', -27.4022000, -54.0814000), -(4321493, 43, 'Toropi', -29.4782000, -54.2244000), -(4321501, 43, 'Torres', -29.3334000, -49.7333000), -(4321600, 43, 'Tramandaí', -29.9841000, -50.1322000), -(4321626, 43, 'Travesseiro', -29.2977000, -52.0532000), -(4321634, 43, 'Três Arroios', -27.5003000, -52.1448000), -(4321667, 43, 'Três Cachoeiras', -29.4487000, -49.9275000), -(4321709, 43, 'Três Coroas', -29.5137000, -50.7739000), -(4321808, 43, 'Três de Maio', -27.7800000, -54.2357000), -(4321832, 43, 'Três Forquilhas', -29.5384000, -50.0708000), -(4321857, 43, 'Três Palmeiras', -27.6139000, -52.8437000), -(4321907, 43, 'Três Passos', -27.4555000, -53.9296000), -(4321956, 43, 'Trindade do Sul', -27.5239000, -52.8956000), -(4322004, 43, 'Triunfo', -29.9291000, -51.7075000), -(4322103, 43, 'Tucunduva', -27.6573000, -54.4439000), -(4322152, 43, 'Tunas', -29.1039000, -52.9538000), -(4322186, 43, 'Tupanci do Sul', -27.9241000, -51.5383000), -(4322202, 43, 'Tupanciretã', -29.0858000, -53.8445000), -(4322251, 43, 'Tupandi', -29.4772000, -51.4174000), -(4322301, 43, 'Tuparendi', -27.7598000, -54.4814000), -(4322327, 43, 'Turuçu', -31.4173000, -52.1706000), -(4322343, 43, 'Ubiretama', -28.0404000, -54.6860000), -(4322350, 43, 'União da Serra', -28.7833000, -52.0238000), -(4322376, 43, 'Unistalda', -29.0400000, -55.1517000), -(4322400, 43, 'Uruguaiana', -29.7614000, -57.0853000), -(4322509, 43, 'Vacaria', -28.5079000, -50.9418000), -(4322525, 43, 'Vale Verde', -29.7864000, -52.1857000), -(4322533, 43, 'Vale do Sol', -29.5967000, -52.6839000), -(4322541, 43, 'Vale Real', -29.3919000, -51.2559000), -(4322558, 43, 'Vanini', -28.4758000, -51.8447000), -(4322608, 43, 'Venâncio Aires', -29.6143000, -52.1932000), -(4322707, 43, 'Vera Cruz', -29.7184000, -52.5152000), -(4322806, 43, 'Veranópolis', -28.9312000, -51.5516000), -(4322855, 43, 'Vespasiano Corrêa', -29.0655000, -51.8625000), -(4322905, 43, 'Viadutos', -27.5716000, -52.0211000), -(4323002, 43, 'Viamão', -30.0819000, -51.0194000), -(4323101, 43, 'Vicente Dutra', -27.1607000, -53.4022000), -(4323200, 43, 'Victor Graeff', -28.5632000, -52.7495000), -(4323309, 43, 'Vila Flores', -28.8598000, -51.5504000), -(4323358, 43, 'Vila Lângaro', -28.1062000, -52.1438000), -(4323408, 43, 'Vila Maria', -28.5359000, -52.1486000), -(4323457, 43, 'Vila Nova do Sul', -30.3461000, -53.8760000), -(4323507, 43, 'Vista Alegre', -27.3686000, -53.4919000), -(4323606, 43, 'Vista Alegre do Prata', -28.8052000, -51.7947000), -(4323705, 43, 'Vista Gaúcha', -27.2902000, -53.6974000), -(4323754, 43, 'Vitória das Missões', -28.3516000, -54.5040000), -(4323770, 43, 'Westfália', -29.4263000, -51.7645000), -(4323804, 43, 'Xangri-lá', -29.8065000, -50.0519000), -(5000203, 50, 'Água Clara', -20.4452000, -52.8790000), -(5000252, 50, 'Alcinópolis', -18.3255000, -53.7042000), -(5000609, 50, 'Amambai', -23.1058000, -55.2253000), -(5000708, 50, 'Anastácio', -20.4823000, -55.8104000), -(5000807, 50, 'Anaurilândia', -22.1852000, -52.7191000), -(5000856, 50, 'Angélica', -22.1527000, -53.7708000), -(5000906, 50, 'Antônio João', -22.1927000, -55.9517000), -(5001003, 50, 'Aparecida do Taboado', -20.0873000, -51.0961000), -(5001102, 50, 'Aquidauana', -20.4666000, -55.7868000), -(5001243, 50, 'Aral Moreira', -22.9385000, -55.6334000), -(5001508, 50, 'Bandeirantes', -19.9275000, -54.3585000), -(5001904, 50, 'Bataguassu', -21.7159000, -52.4221000), -(5002001, 50, 'Batayporã', -22.2944000, -53.2705000), -(5002100, 50, 'Bela Vista', -22.1073000, -56.5263000), -(5002159, 50, 'Bodoquena', -20.5370000, -56.7127000), -(5002209, 50, 'Bonito', -21.1261000, -56.4836000), -(5002308, 50, 'Brasilândia', -21.2544000, -52.0365000), -(5002407, 50, 'Caarapó', -22.6368000, -54.8209000), -(5002605, 50, 'Camapuã', -19.5347000, -54.0431000), -(5002704, 50, 'Campo Grande', -20.4486000, -54.6295000), -(5002803, 50, 'Caracol', -22.0110000, -57.0277000), -(5002902, 50, 'Cassilândia', -19.1179000, -51.7313000), -(5002951, 50, 'Chapadão do Sul', -18.7880000, -52.6263000), -(5003108, 50, 'Corguinho', -19.8243000, -54.8281000), -(5003157, 50, 'Coronel Sapucaia', -23.2724000, -55.5278000), -(5003207, 50, 'Corumbá', -19.0077000, -57.6510000), -(5003256, 50, 'Costa Rica', -18.5432000, -53.1287000), -(5003306, 50, 'Coxim', -18.5013000, -54.7510000), -(5003454, 50, 'Deodápolis', -22.2763000, -54.1682000), -(5003488, 50, 'Dois Irmãos do Buriti', -20.6848000, -55.2915000), -(5003504, 50, 'Douradina', -22.0405000, -54.6158000), -(5003702, 50, 'Dourados', -22.2231000, -54.8120000), -(5003751, 50, 'Eldorado', -23.7868000, -54.2838000), -(5003801, 50, 'Fátima do Sul', -22.3789000, -54.5131000), -(5003900, 50, 'Figueirão', -18.6782000, -53.6380000), -(5004007, 50, 'Glória de Dourados', -22.4136000, -54.2335000), -(5004106, 50, 'Guia Lopes da Laguna', -21.4583000, -56.1117000), -(5004304, 50, 'Iguatemi', -23.6736000, -54.5637000), -(5004403, 50, 'Inocência', -19.7277000, -51.9281000), -(5004502, 50, 'Itaporã', -22.0800000, -54.7934000), -(5004601, 50, 'Itaquiraí', -23.4779000, -54.1870000), -(5004700, 50, 'Ivinhema', -22.3046000, -53.8184000), -(5004809, 50, 'Japorã', -23.8903000, -54.4059000), -(5004908, 50, 'Jaraguari', -20.1386000, -54.3996000), -(5005004, 50, 'Jardim', -21.4799000, -56.1489000), -(5005103, 50, 'Jateí', -22.4806000, -54.3079000), -(5005152, 50, 'Juti', -22.8596000, -54.6061000), -(5005202, 50, 'Ladário', -19.0089000, -57.5973000), -(5005251, 50, 'Laguna Carapã', -22.5448000, -55.1502000), -(5005400, 50, 'Maracaju', -21.6105000, -55.1678000), -(5005608, 50, 'Miranda', -20.2355000, -56.3746000), -(5005681, 50, 'Mundo Novo', -23.9355000, -54.2810000), -(5005707, 50, 'Naviraí', -23.0618000, -54.1995000), -(5005806, 50, 'Nioaque', -21.1419000, -55.8296000), -(5006002, 50, 'Nova Alvorada do Sul', -21.4657000, -54.3825000), -(5006200, 50, 'Nova Andradina', -22.2380000, -53.3437000), -(5006259, 50, 'Novo Horizonte do Sul', -22.6693000, -53.8601000), -(5006275, 50, 'Paraíso das Águas', -19.0216000, -53.0116000), -(5006309, 50, 'Paranaíba', -19.6746000, -51.1909000), -(5006358, 50, 'Paranhos', -23.8911000, -55.4290000), -(5006408, 50, 'Pedro Gomes', -18.0996000, -54.5507000), -(5006606, 50, 'Ponta Porã', -22.5296000, -55.7203000), -(5006903, 50, 'Porto Murtinho', -21.6981000, -57.8836000), -(5007109, 50, 'Ribas do Rio Pardo', -20.4445000, -53.7588000), -(5007208, 50, 'Rio Brilhante', -21.8033000, -54.5427000), -(5007307, 50, 'Rio Negro', -19.4470000, -54.9859000), -(5007406, 50, 'Rio Verde de Mato Grosso', -18.9249000, -54.8434000), -(5007505, 50, 'Rochedo', -19.9565000, -54.8848000), -(5007554, 50, 'Santa Rita do Pardo', -21.3016000, -52.8333000), -(5007695, 50, 'São Gabriel do Oeste', -19.3889000, -54.5507000), -(5007703, 50, 'Sete Quedas', -23.9705000, -55.0398000), -(5007802, 50, 'Selvíria', -20.3637000, -51.4192000), -(5007901, 50, 'Sidrolândia', -20.9302000, -54.9692000), -(5007935, 50, 'Sonora', -17.5698000, -54.7551000), -(5007950, 50, 'Tacuru', -23.6360000, -55.0141000), -(5007976, 50, 'Taquarussu', -22.4898000, -53.3519000), -(5008008, 50, 'Terenos', -20.4378000, -54.8647000), -(5008305, 50, 'Três Lagoas', -20.7849000, -51.7007000), -(5008404, 50, 'Vicentina', -22.4098000, -54.4415000), -(5100102, 51, 'Acorizal', -15.1940000, -56.3632000), -(5100201, 51, 'Água Boa', -14.0510000, -52.1601000), -(5100250, 51, 'Alta Floresta', -9.8671500, -56.0871900), -(5100300, 51, 'Alto Araguaia', -17.3153000, -53.2181000), -(5100359, 51, 'Alto Boa Vista', -11.6732000, -51.3883000), -(5100409, 51, 'Alto Garças', -16.9462000, -53.5272000), -(5100508, 51, 'Alto Paraguai', -14.5137000, -56.4776000), -(5100607, 51, 'Alto Taquari', -17.8241000, -53.2792000), -(5100805, 51, 'Apiacás', -95.3981000, -57.4587000), -(5101001, 51, 'Araguaiana', -15.7291000, -51.8341000), -(5101209, 51, 'Araguainha', -16.8570000, -53.0318000), -(5101258, 51, 'Araputanga', -15.4641000, -58.3425000), -(5101308, 51, 'Arenápolis', -14.4472000, -56.8437000), -(5101407, 51, 'Aripuanã', -10.1723000, -59.4568000), -(5101605, 51, 'Barão de Melgaço', -16.2067000, -55.9623000), -(5101704, 51, 'Barra do Bugres', -15.0702000, -57.1878000), -(5101803, 51, 'Barra do Garças', -15.8804000, -52.2640000), -(5101852, 51, 'Bom Jesus do Araguaia', -12.1706000, -51.5032000), -(5101902, 51, 'Brasnorte', -12.1474000, -57.9833000), -(5102504, 51, 'Cáceres', -16.0764000, -57.6818000), -(5102603, 51, 'Campinápolis', -14.5162000, -52.8930000), -(5102637, 51, 'Campo Novo do Parecis', -13.6587000, -57.8907000), -(5102678, 51, 'Campo Verde', -15.5450000, -55.1626000), -(5102686, 51, 'Campos de Júlio', -13.7242000, -59.2858000), -(5102694, 51, 'Canabrava do Norte', -11.0556000, -51.8209000), -(5102702, 51, 'Canarana', -13.5515000, -52.2705000), -(5102793, 51, 'Carlinda', -99.4912000, -55.8417000), -(5102850, 51, 'Castanheira', -11.1251000, -58.6081000), -(5103007, 51, 'Chapada dos Guimarães', -15.4643000, -55.7499000), -(5103056, 51, 'Cláudia', -11.5075000, -54.8835000), -(5103106, 51, 'Cocalinho', -14.3903000, -51.0001000), -(5103205, 51, 'Colíder', -10.8135000, -55.4610000), -(5103254, 51, 'Colniza', -94.6121000, -59.2252000), -(5103304, 51, 'Comodoro', -13.6614000, -59.7848000), -(5103353, 51, 'Confresa', -10.6437000, -51.5699000), -(5103361, 51, "Conquista D'Oeste", -14.5381000, -59.5444000), -(5103379, 51, 'Cotriguaçu', -9.8565600, -58.4192000), -(5103403, 51, 'Cuiabá', -15.6010000, -56.0974000), -(5103437, 51, 'Curvelândia', -15.6084000, -57.9133000), -(5103452, 51, 'Denise', -14.7324000, -57.0583000), -(5103502, 51, 'Diamantino', -14.4037000, -56.4366000), -(5103601, 51, 'Dom Aquino', -15.8099000, -54.9223000), -(5103700, 51, 'Feliz Natal', -12.3850000, -54.9227000), -(5103809, 51, "Figueirópolis D'Oeste", -15.4439000, -58.7391000), -(5103858, 51, 'Gaúcha do Norte', -13.2443000, -53.0809000), -(5103908, 51, 'General Carneiro', -15.7094000, -52.7574000), -(5103957, 51, "Glória D'Oeste", -15.7680000, -58.3108000), -(5104104, 51, 'Guarantã do Norte', -99.6218000, -54.9121000), -(5104203, 51, 'Guiratinga', -16.3460000, -53.7575000), -(5104500, 51, 'Indiavaí', -15.4921000, -58.5802000), -(5104526, 51, 'Ipiranga do Norte', -12.2408000, -56.1531000), -(5104542, 51, 'Itanhangá', -12.2259000, -56.6463000), -(5104559, 51, 'Itaúba', -11.0614000, -55.2766000), -(5104609, 51, 'Itiquira', -17.2147000, -54.1422000), -(5104807, 51, 'Jaciara', -15.9548000, -54.9733000), -(5104906, 51, 'Jangada', -15.2350000, -56.4917000), -(5105002, 51, 'Jauru', -15.3342000, -58.8723000), -(5105101, 51, 'Juara', -11.2639000, -57.5244000), -(5105150, 51, 'Juína', -11.3728000, -58.7483000), -(5105176, 51, 'Juruena', -10.3178000, -58.3592000), -(5105200, 51, 'Juscimeira', -16.0633000, -54.8859000), -(5105234, 51, "Lambari D'Oeste", -15.3188000, -58.0046000), -(5105259, 51, 'Lucas do Rio Verde', -13.0588000, -55.9042000), -(5105309, 51, 'Luciara', -11.2219000, -50.6676000), -(5105507, 51, 'Vila Bela da Santíssima Trindade', -15.0068000, -59.9504000), -(5105580, 51, 'Marcelândia', -11.0463000, -54.4377000), -(5105606, 51, 'Matupá', -10.1821000, -54.9467000), -(5105622, 51, "Mirassol d'Oeste", -15.6759000, -58.0951000), -(5105903, 51, 'Nobres', -14.7192000, -56.3284000), -(5106000, 51, 'Nortelândia', -14.4540000, -56.7945000), -(5106109, 51, 'Nossa Senhora do Livramento', -15.7720000, -56.3432000), -(5106158, 51, 'Nova Bandeirantes', -9.8497700, -57.8139000), -(5106174, 51, 'Nova Nazaré', -13.9486000, -51.8002000), -(5106182, 51, 'Nova Lacerda', -14.4727000, -59.6001000), -(5106190, 51, 'Nova Santa Helena', -10.8651000, -55.1872000), -(5106208, 51, 'Nova Brasilândia', -14.9612000, -54.9685000), -(5106216, 51, 'Nova Canaã do Norte', -10.5580000, -55.9530000), -(5106224, 51, 'Nova Mutum', -13.8374000, -56.0743000), -(5106232, 51, 'Nova Olímpia', -14.7889000, -57.2886000), -(5106240, 51, 'Nova Ubiratã', -12.9834000, -55.2556000), -(5106257, 51, 'Nova Xavantina', -14.6771000, -52.3502000), -(5106265, 51, 'Novo Mundo', -99.5616000, -55.2029000), -(5106273, 51, 'Novo Horizonte do Norte', -11.4089000, -57.3488000), -(5106281, 51, 'Novo São Joaquim', -14.9054000, -53.0194000), -(5106299, 51, 'Paranaíta', -9.6650000, -56.4769000), -(5106307, 51, 'Paranatinga', -14.4265000, -54.0524000), -(5106315, 51, 'Novo Santo Antônio', -12.2875000, -50.9686000), -(5106372, 51, 'Pedra Preta', -16.6245000, -54.4722000), -(5106422, 51, 'Peixoto de Azevedo', -10.2262000, -54.9794000), -(5106455, 51, 'Planalto da Serra', -14.6518000, -54.7819000), -(5106505, 51, 'Poconé', -16.2660000, -56.6261000), -(5106653, 51, 'Pontal do Araguaia', -15.9274000, -52.3273000), -(5106703, 51, 'Ponte Branca', -16.7584000, -52.8369000), -(5106752, 51, 'Pontes e Lacerda', -15.2219000, -59.3435000), -(5106778, 51, 'Porto Alegre do Norte', -10.8761000, -51.6357000), -(5106802, 51, 'Porto dos Gaúchos', -11.5330000, -57.4132000), -(5106828, 51, 'Porto Esperidião', -15.8570000, -58.4619000), -(5106851, 51, 'Porto Estrela', -15.3235000, -57.2204000), -(5107008, 51, 'Poxoréu', -15.8299000, -54.4208000), -(5107040, 51, 'Primavera do Leste', -15.5440000, -54.2811000), -(5107065, 51, 'Querência', -12.6093000, -52.1821000), -(5107107, 51, 'São José dos Quatro Marcos', -15.6276000, -58.1772000), -(5107156, 51, 'Reserva do Cabaçal', -15.0743000, -58.4585000), -(5107180, 51, 'Ribeirão Cascalheira', -12.9367000, -51.8244000), -(5107198, 51, 'Ribeirãozinho', -16.4856000, -52.6924000), -(5107206, 51, 'Rio Branco', -15.2483000, -58.1259000), -(5107248, 51, 'Santa Carmem', -11.9125000, -55.2263000), -(5107263, 51, 'Santo Afonso', -14.4945000, -57.0091000), -(5107297, 51, 'São José do Povo', -16.4549000, -54.2487000), -(5107305, 51, 'São José do Rio Claro', -13.4398000, -56.7218000), -(5107354, 51, 'São José do Xingu', -10.7982000, -52.7486000), -(5107404, 51, 'São Pedro da Cipa', -16.0109000, -54.9176000), -(5107578, 51, 'Rondolândia', -10.8376000, -61.4697000), -(5107602, 51, 'Rondonópolis', -16.4673000, -54.6372000), -(5107701, 51, 'Rosário Oeste', -14.8259000, -56.4236000), -(5107743, 51, 'Santa Cruz do Xingu', -10.1532000, -52.3953000), -(5107750, 51, 'Salto do Céu', -15.1303000, -58.1317000), -(5107768, 51, 'Santa Rita do Trivelato', -13.8146000, -55.2706000), -(5107776, 51, 'Santa Terezinha', -10.4704000, -50.5140000), -(5107792, 51, 'Santo Antônio do Leste', -14.8050000, -53.6075000), -(5107800, 51, 'Santo Antônio do Leverger', -15.8632000, -56.0788000), -(5107859, 51, 'São Félix do Araguaia', -11.6150000, -50.6706000), -(5107875, 51, 'Sapezal', -12.9892000, -58.7645000), -(5107883, 51, 'Serra Nova Dourada', -12.0896000, -51.4025000), -(5107909, 51, 'Sinop', -11.8604000, -55.5091000), -(5107925, 51, 'Sorriso', -12.5425000, -55.7211000), -(5107941, 51, 'Tabaporã', -11.3007000, -56.8312000), -(5107958, 51, 'Tangará da Serra', -14.6229000, -57.4933000), -(5108006, 51, 'Tapurah', -12.6950000, -56.5178000), -(5108055, 51, 'Terra Nova do Norte', -10.5170000, -55.2310000), -(5108105, 51, 'Tesouro', -16.0809000, -53.5590000), -(5108204, 51, 'Torixoréu', -16.2006000, -52.5571000), -(5108303, 51, 'União do Sul', -11.5308000, -54.3616000), -(5108352, 51, 'Vale de São Domingos', -15.2860000, -59.0683000), -(5108402, 51, 'Várzea Grande', -15.6458000, -56.1322000), -(5108501, 51, 'Vera', -12.3017000, -55.3045000), -(5108600, 51, 'Vila Rica', -10.0137000, -51.1186000), -(5108808, 51, 'Nova Guarita', -10.3120000, -55.4061000), -(5108857, 51, 'Nova Marilândia', -14.3568000, -56.9696000), -(5108907, 51, 'Nova Maringá', -13.0136000, -57.0908000), -(5108956, 51, 'Nova Monte Verde', -99.9998000, -57.5261000), -(5200050, 52, 'Abadia de Goiás', -16.7573000, -49.4412000), -(5200100, 52, 'Abadiânia', -16.1970000, -48.7057000), -(5200134, 52, 'Acreúna', -17.3960000, -50.3749000), -(5200159, 52, 'Adelândia', -16.4127000, -50.1657000), -(5200175, 52, 'Água Fria de Goiás', -14.9778000, -47.7823000), -(5200209, 52, 'Água Limpa', -18.0771000, -48.7603000), -(5200258, 52, 'Águas Lindas de Goiás', -15.7617000, -48.2816000), -(5200308, 52, 'Alexânia', -16.0834000, -48.5076000), -(5200506, 52, 'Aloândia', -17.7292000, -49.4769000), -(5200555, 52, 'Alto Horizonte', -14.1978000, -49.3378000), -(5200605, 52, 'Alto Paraíso de Goiás', -14.1305000, -47.5100000), -(5200803, 52, 'Alvorada do Norte', -14.4797000, -46.4910000), -(5200829, 52, 'Amaralina', -13.9236000, -49.2962000), -(5200852, 52, 'Americano do Brasil', -16.2514000, -49.9831000), -(5200902, 52, 'Amorinópolis', -16.6151000, -51.0919000), -(5201108, 52, 'Anápolis', -16.3281000, -48.9530000), -(5201207, 52, 'Anhanguera', -18.3339000, -48.2204000), -(5201306, 52, 'Anicuns', -16.4642000, -49.9617000), -(5201405, 52, 'Aparecida de Goiânia', -16.8198000, -49.2469000), -(5201454, 52, 'Aparecida do Rio Doce', -18.2941000, -51.1516000), -(5201504, 52, 'Aporé', -18.9607000, -51.9232000), -(5201603, 52, 'Araçu', -16.3563000, -49.6804000), -(5201702, 52, 'Aragarças', -15.8955000, -52.2372000), -(5201801, 52, 'Aragoiânia', -16.9087000, -49.4476000), -(5202155, 52, 'Araguapaz', -15.0909000, -50.6315000), -(5202353, 52, 'Arenópolis', -16.3837000, -51.5563000), -(5202502, 52, 'Aruanã', -14.9166000, -51.0750000), -(5202601, 52, 'Aurilândia', -16.6773000, -50.4641000), -(5202809, 52, 'Avelinópolis', -16.4672000, -49.7579000), -(5203104, 52, 'Baliza', -16.1966000, -52.5393000), -(5203203, 52, 'Barro Alto', -14.9658000, -48.9086000), -(5203302, 52, 'Bela Vista de Goiás', -16.9693000, -48.9513000), -(5203401, 52, 'Bom Jardim de Goiás', -16.2063000, -52.1728000), -(5203500, 52, 'Bom Jesus de Goiás', -18.2173000, -49.7400000), -(5203559, 52, 'Bonfinópolis', -16.6173000, -48.9616000), -(5203575, 52, 'Bonópolis', -13.6329000, -49.8106000), -(5203609, 52, 'Brazabrantes', -16.4281000, -49.3863000), -(5203807, 52, 'Britânia', -15.2428000, -51.1602000), -(5203906, 52, 'Buriti Alegre', -18.1378000, -49.0404000), -(5203939, 52, 'Buriti de Goiás', -16.1792000, -50.4302000), -(5203962, 52, 'Buritinópolis', -14.4772000, -46.4076000), -(5204003, 52, 'Cabeceiras', -15.7995000, -46.9265000), -(5204102, 52, 'Cachoeira Alta', -18.7618000, -50.9432000), -(5204201, 52, 'Cachoeira de Goiás', -16.6635000, -50.6460000), -(5204250, 52, 'Cachoeira Dourada', -18.4859000, -49.4766000), -(5204300, 52, 'Caçu', -18.5594000, -51.1328000), -(5204409, 52, 'Caiapônia', -16.9539000, -51.8091000), -(5204508, 52, 'Caldas Novas', -17.7441000, -48.6246000), -(5204557, 52, 'Caldazinha', -16.7117000, -49.0013000), -(5204607, 52, 'Campestre de Goiás', -16.7624000, -49.6950000), -(5204656, 52, 'Campinaçu', -13.7870000, -48.5704000), -(5204706, 52, 'Campinorte', -14.3137000, -49.1511000), -(5204805, 52, 'Campo Alegre de Goiás', -17.6363000, -47.7768000), -(5204854, 52, 'Campo Limpo de Goiás', -16.2971000, -49.0895000), -(5204904, 52, 'Campos Belos', -13.0350000, -46.7681000), -(5204953, 52, 'Campos Verdes', -14.2442000, -49.6528000), -(5205000, 52, 'Carmo do Rio Verde', -15.3549000, -49.7080000), -(5205059, 52, 'Castelândia', -18.0921000, -50.2030000), -(5205109, 52, 'Catalão', -18.1656000, -47.9440000), -(5205208, 52, 'Caturaí', -16.4447000, -49.4936000), -(5205307, 52, 'Cavalcante', -13.7976000, -47.4566000), -(5205406, 52, 'Ceres', -15.3061000, -49.6000000), -(5205455, 52, 'Cezarina', -16.9718000, -49.7758000), -(5205471, 52, 'Chapadão do Céu', -18.4073000, -52.5490000), -(5205497, 52, 'Cidade Ocidental', -16.0765000, -47.9252000), -(5205513, 52, 'Cocalzinho de Goiás', -15.7914000, -48.7747000), -(5205521, 52, 'Colinas do Sul', -14.1528000, -48.0760000), -(5205703, 52, 'Córrego do Ouro', -16.2918000, -50.5503000), -(5205802, 52, 'Corumbá de Goiás', -15.9245000, -48.8117000), -(5205901, 52, 'Corumbaíba', -18.1415000, -48.5626000), -(5206206, 52, 'Cristalina', -16.7676000, -47.6131000), -(5206305, 52, 'Cristianópolis', -17.1987000, -48.7034000), -(5206404, 52, 'Crixás', -14.5412000, -49.9740000), -(5206503, 52, 'Cromínia', -17.2883000, -49.3798000), -(5206602, 52, 'Cumari', -18.2644000, -48.1511000), -(5206701, 52, 'Damianópolis', -14.5604000, -46.1780000), -(5206800, 52, 'Damolândia', -16.2544000, -49.3631000), -(5206909, 52, 'Davinópolis', -18.1501000, -47.5568000), -(5207105, 52, 'Diorama', -16.2329000, -51.2543000), -(5207253, 52, 'Doverlândia', -16.7188000, -52.3189000), -(5207352, 52, 'Edealina', -17.4239000, -49.6644000), -(5207402, 52, 'Edéia', -17.3406000, -49.9295000), -(5207501, 52, 'Estrela do Norte', -13.8665000, -49.0716000), -(5207535, 52, 'Faina', -15.4473000, -50.3622000), -(5207600, 52, 'Fazenda Nova', -16.1834000, -50.7781000), -(5207808, 52, 'Firminópolis', -16.5778000, -50.3040000), -(5207907, 52, 'Flores de Goiás', -14.4451000, -47.0417000), -(5208004, 52, 'Formosa', -15.5400000, -47.3370000), -(5208103, 52, 'Formoso', -13.6499000, -48.8775000), -(5208152, 52, 'Gameleira de Goiás', -16.4854000, -48.6454000), -(5208301, 52, 'Divinópolis de Goiás', -13.2853000, -46.3999000), -(5208400, 52, 'Goianápolis', -16.5098000, -49.0234000), -(5208509, 52, 'Goiandira', -18.1352000, -48.0875000), -(5208608, 52, 'Goianésia', -15.3118000, -49.1162000), -(5208707, 52, 'Goiânia', -16.6864000, -49.2643000), -(5208806, 52, 'Goianira', -16.4947000, -49.4270000), -(5208905, 52, 'Goiás', -15.9333000, -50.1400000), -(5209101, 52, 'Goiatuba', -18.0105000, -49.3658000), -(5209150, 52, 'Gouvelândia', -18.6238000, -50.0805000), -(5209200, 52, 'Guapó', -16.8297000, -49.5345000), -(5209291, 52, 'Guaraíta', -15.6121000, -50.0265000), -(5209408, 52, 'Guarani de Goiás', -13.9421000, -46.4868000), -(5209457, 52, 'Guarinos', -14.7292000, -49.7006000), -(5209606, 52, 'Heitoraí', -15.7190000, -49.8268000), -(5209705, 52, 'Hidrolândia', -16.9626000, -49.2265000), -(5209804, 52, 'Hidrolina', -14.7261000, -49.4634000), -(5209903, 52, 'Iaciara', -14.1011000, -46.6335000), -(5209937, 52, 'Inaciolândia', -18.4869000, -49.9888000), -(5209952, 52, 'Indiara', -17.1387000, -49.9862000), -(5210000, 52, 'Inhumas', -16.3611000, -49.5001000), -(5210109, 52, 'Ipameri', -17.7215000, -48.1581000), -(5210158, 52, 'Ipiranga de Goiás', -15.1689000, -49.6695000), -(5210208, 52, 'Iporá', -16.4398000, -51.1180000), -(5210307, 52, 'Israelândia', -16.3144000, -50.9087000), -(5210406, 52, 'Itaberaí', -16.0206000, -49.8060000), -(5210562, 52, 'Itaguari', -15.9180000, -49.6071000), -(5210604, 52, 'Itaguaru', -15.7565000, -49.6354000), -(5210802, 52, 'Itajá', -19.0673000, -51.5495000), -(5210901, 52, 'Itapaci', -14.9522000, -49.5511000), -(5211008, 52, 'Itapirapuã', -15.8205000, -50.6094000), -(5211206, 52, 'Itapuranga', -15.5606000, -49.9490000), -(5211305, 52, 'Itarumã', -18.7646000, -51.3485000), -(5211404, 52, 'Itauçu', -16.2029000, -49.6109000), -(5211503, 52, 'Itumbiara', -18.4093000, -49.2158000), -(5211602, 52, 'Ivolândia', -16.5995000, -50.7921000), -(5211701, 52, 'Jandaia', -17.0481000, -50.1453000), -(5211800, 52, 'Jaraguá', -15.7529000, -49.3344000), -(5211909, 52, 'Jataí', -17.8784000, -51.7204000), -(5212006, 52, 'Jaupaci', -16.1773000, -50.9508000), -(5212055, 52, 'Jesúpolis', -15.9484000, -49.3739000), -(5212105, 52, 'Joviânia', -17.8020000, -49.6197000), -(5212204, 52, 'Jussara', -15.8659000, -50.8668000), -(5212253, 52, 'Lagoa Santa', -19.1832000, -51.3998000), -(5212303, 52, 'Leopoldo de Bulhões', -16.6190000, -48.7428000), -(5212501, 52, 'Luziânia', -16.2530000, -47.9500000), -(5212600, 52, 'Mairipotaba', -17.2975000, -49.4898000), -(5212709, 52, 'Mambaí', -14.4823000, -46.1165000), -(5212808, 52, 'Mara Rosa', -14.0148000, -49.1777000), -(5212907, 52, 'Marzagão', -17.9830000, -48.6415000), -(5212956, 52, 'Matrinchã', -15.4342000, -50.7456000), -(5213004, 52, 'Maurilândia', -17.9719000, -50.3388000), -(5213053, 52, 'Mimoso de Goiás', -15.0515000, -48.1611000), -(5213087, 52, 'Minaçu', -13.5304000, -48.2206000), -(5213103, 52, 'Mineiros', -17.5654000, -52.5537000), -(5213400, 52, 'Moiporá', -16.5434000, -50.7390000), -(5213509, 52, 'Monte Alegre de Goiás', -13.2552000, -46.8928000), -(5213707, 52, 'Montes Claros de Goiás', -16.0059000, -51.3979000), -(5213756, 52, 'Montividiu', -17.4439000, -51.1728000), -(5213772, 52, 'Montividiu do Norte', -13.3485000, -48.6853000), -(5213806, 52, 'Morrinhos', -17.7334000, -49.1059000), -(5213855, 52, 'Morro Agudo de Goiás', -15.3184000, -50.0553000), -(5213905, 52, 'Mossâmedes', -16.1240000, -50.2136000), -(5214002, 52, 'Mozarlândia', -14.7457000, -50.5713000), -(5214051, 52, 'Mundo Novo', -13.7729000, -50.2814000), -(5214101, 52, 'Mutunópolis', -13.7303000, -49.2745000), -(5214408, 52, 'Nazário', -16.5808000, -49.8817000), -(5214507, 52, 'Nerópolis', -16.4047000, -49.2227000), -(5214606, 52, 'Niquelândia', -14.4662000, -48.4599000), -(5214705, 52, 'Nova América', -15.0206000, -49.8953000), -(5214804, 52, 'Nova Aurora', -18.0597000, -48.2552000), -(5214838, 52, 'Nova Crixás', -14.0957000, -50.3300000), -(5214861, 52, 'Nova Glória', -15.1450000, -49.5737000), -(5214879, 52, 'Nova Iguaçu de Goiás', -14.2868000, -49.3872000), -(5214903, 52, 'Nova Roma', -13.7388000, -46.8734000), -(5215009, 52, 'Nova Veneza', -16.3695000, -49.3168000), -(5215207, 52, 'Novo Brasil', -16.0313000, -50.7113000), -(5215231, 52, 'Novo Gama', -16.0592000, -48.0417000), -(5215256, 52, 'Novo Planalto', -13.2424000, -49.5060000), -(5215306, 52, 'Orizona', -17.0334000, -48.2964000), -(5215405, 52, 'Ouro Verde de Goiás', -16.2181000, -49.1942000), -(5215504, 52, 'Ouvidor', -18.2277000, -47.8355000), -(5215603, 52, 'Padre Bernardo', -15.1605000, -48.2833000), -(5215652, 52, 'Palestina de Goiás', -16.7392000, -51.5309000), -(5215702, 52, 'Palmeiras de Goiás', -16.8044000, -49.9240000), -(5215801, 52, 'Palmelo', -17.3258000, -48.4260000), -(5215900, 52, 'Palminópolis', -16.7924000, -50.1652000), -(5216007, 52, 'Panamá', -18.1783000, -49.3550000), -(5216304, 52, 'Paranaiguara', -18.9141000, -50.6539000), -(5216403, 52, 'Paraúna', -16.9463000, -50.4484000), -(5216452, 52, 'Perolândia', -17.5258000, -52.0650000), -(5216809, 52, 'Petrolina de Goiás', -16.0968000, -49.3364000), -(5216908, 52, 'Pilar de Goiás', -14.7608000, -49.5784000), -(5217104, 52, 'Piracanjuba', -17.3020000, -49.0170000), -(5217203, 52, 'Piranhas', -16.4258000, -51.8235000), -(5217302, 52, 'Pirenópolis', -15.8507000, -48.9584000), -(5217401, 52, 'Pires do Rio', -17.3019000, -48.2768000), -(5217609, 52, 'Planaltina', -15.4520000, -47.6089000), -(5217708, 52, 'Pontalina', -17.5225000, -49.4489000), -(5218003, 52, 'Porangatu', -13.4391000, -49.1503000), -(5218052, 52, 'Porteirão', -17.8143000, -50.1653000), -(5218102, 52, 'Portelândia', -17.3554000, -52.6799000), -(5218300, 52, 'Posse', -14.0859000, -46.3704000), -(5218391, 52, 'Professor Jamil', -17.2497000, -49.2440000), -(5218508, 52, 'Quirinópolis', -18.4472000, -50.4547000), -(5218607, 52, 'Rialma', -15.3145000, -49.5814000), -(5218706, 52, 'Rianápolis', -15.4456000, -49.5114000), -(5218789, 52, 'Rio Quente', -17.7740000, -48.7725000), -(5218805, 52, 'Rio Verde', -17.7923000, -50.9192000), -(5218904, 52, 'Rubiataba', -15.1617000, -49.8048000), -(5219001, 52, 'Sanclerlândia', -16.1970000, -50.3124000), -(5219100, 52, 'Santa Bárbara de Goiás', -16.5714000, -49.6954000), -(5219209, 52, 'Santa Cruz de Goiás', -17.3155000, -48.4809000), -(5219258, 52, 'Santa Fé de Goiás', -15.7664000, -51.1037000), -(5219308, 52, 'Santa Helena de Goiás', -17.8115000, -50.5977000), -(5219357, 52, 'Santa Isabel', -15.2958000, -49.4259000), -(5219407, 52, 'Santa Rita do Araguaia', -17.3269000, -53.2012000), -(5219456, 52, 'Santa Rita do Novo Destino', -15.1351000, -49.1203000), -(5219506, 52, 'Santa Rosa de Goiás', -16.0840000, -49.4953000), -(5219605, 52, 'Santa Tereza de Goiás', -13.7138000, -49.0144000), -(5219704, 52, 'Santa Terezinha de Goiás', -14.4326000, -49.7091000), -(5219712, 52, 'Santo Antônio da Barra', -17.5585000, -50.6345000), -(5219738, 52, 'Santo Antônio de Goiás', -16.4815000, -49.3096000), -(5219753, 52, 'Santo Antônio do Descoberto', -15.9412000, -48.2578000), -(5219803, 52, 'São Domingos', -13.6210000, -46.7415000), -(5219902, 52, 'São Francisco de Goiás', -15.9256000, -49.2605000), -(5220009, 52, "São João d'Aliança", -14.7048000, -47.5228000), -(5220058, 52, 'São João da Paraúna', -16.8126000, -50.4092000), -(5220108, 52, 'São Luís de Montes Belos', -16.5211000, -50.3726000), -(5220157, 52, 'São Luiz do Norte', -14.8608000, -49.3285000), -(5220207, 52, 'São Miguel do Araguaia', -13.2731000, -50.1634000), -(5220264, 52, 'São Miguel do Passa Quatro', -17.0582000, -48.6620000), -(5220280, 52, 'São Patrício', -15.3500000, -49.8180000), -(5220405, 52, 'São Simão', -18.9960000, -50.5470000), -(5220454, 52, 'Senador Canedo', -16.7084000, -49.0914000), -(5220504, 52, 'Serranópolis', -18.3067000, -51.9586000), -(5220603, 52, 'Silvânia', -16.6600000, -48.6083000), -(5220686, 52, 'Simolândia', -14.4644000, -46.4847000), -(5220702, 52, "Sítio d'Abadia", -14.7992000, -46.2506000), -(5221007, 52, 'Taquaral de Goiás', -16.0521000, -49.6039000), -(5221080, 52, 'Teresina de Goiás', -13.7801000, -47.2659000), -(5221197, 52, 'Terezópolis de Goiás', -16.3945000, -49.0797000), -(5221304, 52, 'Três Ranchos', -18.3539000, -47.7760000), -(5221403, 52, 'Trindade', -16.6517000, -49.4927000), -(5221452, 52, 'Trombas', -13.5079000, -48.7417000), -(5221502, 52, 'Turvânia', -16.6125000, -50.1369000), -(5221551, 52, 'Turvelândia', -17.8502000, -50.3024000), -(5221577, 52, 'Uirapuru', -14.2835000, -49.9201000), -(5221601, 52, 'Uruaçu', -14.5238000, -49.1396000), -(5221700, 52, 'Uruana', -15.4993000, -49.6861000), -(5221809, 52, 'Urutaí', -17.4651000, -48.2015000), -(5221858, 52, 'Valparaíso de Goiás', -16.0651000, -47.9757000), -(5221908, 52, 'Varjão', -17.0471000, -49.6312000), -(5222005, 52, 'Vianópolis', -16.7405000, -48.5159000), -(5222054, 52, 'Vicentinópolis', -17.7322000, -49.8047000), -(5222203, 52, 'Vila Boa', -15.0387000, -47.0520000), -(5222302, 52, 'Vila Propício', -15.4542000, -48.8819000), -(5300108, 53, 'Brasília', -15.7795000, -47.9297000), -(5400000, 54, 'Não Informado', NULL, NULL), -(5500000, 55, 'Não Informado', NULL, NULL), -(5600000, 56, 'Não Informado', NULL, NULL), -(5700000, 57, 'Não Informado', NULL, NULL), -(5800000, 58, 'Não Informado', NULL, NULL), -(5900000, 59, 'Não Informado', NULL, NULL), -(6000000, 60, 'Não Informado', NULL, NULL), -(6100000, 61, 'Não Informado', NULL, NULL), -(6200000, 62, 'Não Informado', NULL, NULL), -(6300000, 63, 'Não Informado', NULL, NULL), -(6400000, 64, 'Não Informado', NULL, NULL), -(6500000, 65, 'Não Informado', NULL, NULL), -(6600000, 66, 'Não Informado', NULL, NULL), -(6700000, 67, 'Não Informado', NULL, NULL), -(6800000, 68, 'Não Informado', NULL, NULL), -(6900000, 69, 'Não Informado', NULL, NULL), -(7000000, 70, 'Não Informado', NULL, NULL), -(7100000, 71, 'Não Informado', NULL, NULL), -(7200000, 72, 'Não Informado', NULL, NULL), -(7300000, 73, 'Não Informado', NULL, NULL), -(7400000, 74, 'Não Informado', NULL, NULL), -(7500000, 75, 'Não Informado', NULL, NULL), -(7600000, 76, 'Não Informado', NULL, NULL), -(7700000, 77, 'Não Informado', NULL, NULL), -(7800000, 78, 'Não Informado', NULL, NULL); - -UNLOCK TABLES; diff --git a/src/database/migrations/20250426233203_herbarios.sql b/src/database/migrations/20250426233203_herbarios.sql deleted file mode 100644 index 3e5af792..00000000 --- a/src/database/migrations/20250426233203_herbarios.sql +++ /dev/null @@ -1,39 +0,0 @@ -create table `enderecos` ( - `id` int unsigned not null auto_increment, - `logradouro` varchar(200) not null, - `numero` varchar(10) default null, - `complemento` text, - `cidade_id` int unsigned default null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - constraint `enderecos_cidades_fk` foreign key (`cidade_id`) references `cidades` (`id`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `herbarios` ( - `id` int unsigned not null auto_increment, - `nome` varchar(200) not null, - `caminho_logotipo` text, - `sigla` varchar(80) not null, - `email` varchar(200) default null, - `ativo` tinyint(1) default '1', - `endereco_id` int unsigned default null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - constraint `herbarios_enderecos_fk` foreign key (`endereco_id`) references `enderecos` (`id`), - index `herbarios_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `telefones` ( - `id` int unsigned not null auto_increment, - `numero` varchar(20) not null, - `herbario_id` int unsigned not null, - `ativo` tinyint(1) default '1', - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - constraint `telefones_herbarios_fk` foreign key (`herbario_id`) references `herbarios` (`id`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; diff --git a/src/database/migrations/20250426233215_taxonomia.sql b/src/database/migrations/20250426233215_taxonomia.sql deleted file mode 100644 index 2de8486d..00000000 --- a/src/database/migrations/20250426233215_taxonomia.sql +++ /dev/null @@ -1,104 +0,0 @@ -create table `autores` ( - `id` int unsigned not null auto_increment, - `nome` varchar(200) not null, - `iniciais` varchar(200) default null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - `ativo` tinyint(1) not null default '1', - primary key (`id`), - index `autores_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `familias` ( - `id` int unsigned not null auto_increment, - `nome` varchar(200) not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - `ativo` tinyint(1) not null default '1', - primary key (`id`), - index `familias_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `subfamilias` ( - `id` int unsigned not null auto_increment, - `nome` varchar(300) not null, - `familia_id` int unsigned not null, - `autor_id` int unsigned default null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - `ativo` tinyint(1) not null default '1', - primary key (`id`), - constraint `subfamilias_autores_fk` foreign key (`autor_id`) references `autores` (`id`), - constraint `subfamilias_familias_fk` foreign key (`familia_id`) references `familias` (`id`), - index `subfamilias_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `generos` ( - `id` int unsigned not null auto_increment, - `nome` varchar(200) not null, - `familia_id` int unsigned not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - `ativo` tinyint(1) not null default '1', - primary key (`id`), - constraint `generos_familias_fk` foreign key (`familia_id`) references `familias` (`id`), - index `generos_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `especies` ( - `id` int unsigned not null auto_increment, - `nome` varchar(200) not null, - `autor_id` int unsigned default null, - `genero_id` int unsigned default null, - `familia_id` int unsigned not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - `ativo` tinyint(1) not null default '1', - primary key (`id`), - constraint `especies_autores_fk` foreign key (`autor_id`) references `autores` (`id`), - constraint `especies_generos_fk` foreign key (`genero_id`) references `generos` (`id`), - constraint `especies_familias_fk` foreign key (`familia_id`) references `familias` (`id`), - index `especies_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `subespecies` ( - `id` int unsigned not null auto_increment, - `nome` varchar(255) not null, - `especie_id` int unsigned not null, - `genero_id` int unsigned default null, - `familia_id` int unsigned not null, - `autor_id` int unsigned default null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - `ativo` tinyint(1) not null default '1', - primary key (`id`), - constraint `subespecies_especies_fk` foreign key (`especie_id`) references `especies` (`id`), - constraint `subespecies_generos_fk` foreign key (`genero_id`) references `generos` (`id`), - constraint `subespecies_autores_fk` foreign key (`autor_id`) references `autores` (`id`), - constraint `subespecies_familias_fk` foreign key (`familia_id`) references `familias` (`id`), - index `subespecies_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `variedades` ( - `id` int unsigned not null auto_increment, - `nome` varchar(200) not null, - `autor_id` int unsigned default null, - `especie_id` int unsigned not null, - `genero_id` int unsigned default null, - `familia_id` int unsigned not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - `ativo` tinyint(1) not null default '1', - primary key (`id`), - constraint `variedades_generos_fk` foreign key (`genero_id`) references `generos` (`id`), - constraint `variedades_familias_fk` foreign key (`familia_id`) references `familias` (`id`), - constraint `variedades_especies_fk` foreign key (`especie_id`) references `especies` (`id`), - constraint `variedades_autores_fk` foreign key (`autor_id`) references `autores` (`id`), - index `variedades_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; diff --git a/src/database/migrations/20250426233223_usuarios.sql b/src/database/migrations/20250426233223_usuarios.sql deleted file mode 100644 index bb5d7491..00000000 --- a/src/database/migrations/20250426233223_usuarios.sql +++ /dev/null @@ -1,36 +0,0 @@ -create table `tipos_usuarios` ( - `id` int unsigned not null auto_increment, - `tipo` varchar(100) not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - unique index `tipos_usuarios_tipo_uk` (`tipo`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `usuarios` ( - `id` int unsigned not null auto_increment, - `nome` varchar(200) not null, - `ra` varchar(45) default null, - `email` varchar(200) not null, - `senha` varchar(200) not null, - `ativo` tinyint(1) not null default '1', - `tipo_usuario_id` int unsigned not null, - `telefone` varchar(20) default null, - `herbario_id` int unsigned not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - constraint `usuarios_tipos_usuarios_fk` foreign key (`tipo_usuario_id`) references `tipos_usuarios` (`id`), - constraint `usuarios_herbarios_fk` foreign key (`herbario_id`) references `herbarios` (`id`), - unique index `usuarios_email_uk` (`email`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `historico_acessos` ( - `id` int unsigned not null auto_increment, - `data_criacao` datetime not null default current_timestamp, - `usuario_id` int unsigned not null, - primary key (`id`), - constraint `historico_acessos_usuarios_fk` foreign key (`usuario_id`) references `usuarios` (`id`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; diff --git a/src/database/migrations/20250426233236_tombos.sql b/src/database/migrations/20250426233236_tombos.sql deleted file mode 100644 index bfd692a9..00000000 --- a/src/database/migrations/20250426233236_tombos.sql +++ /dev/null @@ -1,251 +0,0 @@ -create table `remessas` ( - `id` int unsigned not null auto_increment, - `observacao` text, - `data_envio` datetime default null, - `entidade_destino_id` int unsigned not null, - `herbario_id` int unsigned not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - constraint `remessas_herbarios_fk` foreign key (`herbario_id`) references `herbarios` (`id`), - constraint `remessas_entidade_fk` foreign key (`entidade_destino_id`) references `herbarios` (`id`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `tipos` ( - `id` int unsigned not null auto_increment, - `nome` varchar(250) not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `coletores` ( - `id` int unsigned not null auto_increment, - `nome` varchar(255) not null, - `email` varchar(200) default null, - `numero` int default null, - `ativo` tinyint(1) default '1', - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - index `coletores_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `relevos` ( - `id` int unsigned not null auto_increment, - `nome` varchar(300) not null, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - `created_at` datetime not null default current_timestamp, - primary key (`id`), - unique index `relevos_nome_uk` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `solos` ( - `id` int unsigned not null auto_increment, - `nome` varchar(300) not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - unique index `solos_nome_uk` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `vegetacoes` ( - `id` int unsigned not null auto_increment, - `nome` varchar(300) not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - unique index `vegetacoes_nome_uk` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `fase_sucessional` ( - `numero` int unsigned not null, - `nome` varchar(200) not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`numero`), - unique index `fase_sucessional_nome_uk` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -LOCK TABLES `fase_sucessional` WRITE; - -INSERT INTO `fase_sucessional` VALUES -(1, '1º fase sucessão vegetal'), -(2, '2º fase sucessão vegetal'), -(3, '3º fase ou capoeirinhia'), -(4, '4º fase capoeira'), -(5, '5º fase capoeirão'), -(6, '6º fase floresta secundária') - - -create table `locais_coleta` ( - `id` int unsigned not null auto_increment, - `descricao` text, - `cidade_id` int unsigned default null, - `fase_sucessional_id` int unsigned default null, - `complemento` text, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - `fase_numero` int unsigned default null, - primary key (`id`), - constraint `locais_coleta_fase_numero_fk` foreign key (`fase_numero`) references `fase_sucessional` (`numero`), - constraint `locais_coleta_cidades_fk` foreign key (`cidade_id`) references `cidades` (`id`), - index `locais_coleta_cidade_idx` (`cidade_id`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `colecoes_anexas` ( - `id` int unsigned not null auto_increment, - `tipo` enum('carpoteca','xiloteca','via liquida') not null, - `observacoes` text, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - index `colecoes_anexas_tipo_idx` (`tipo`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `tombos` ( - `hcf` int unsigned not null auto_increment, - `data_tombo` datetime default current_timestamp, - `data_coleta_dia` int unsigned default null, - `observacao` text, - `nomes_populares` text, - `numero_coleta` int unsigned default null, - `latitude` decimal(10, 7) default null, - `longitude` decimal(10, 7) default null, - `altitude` decimal(8, 2) default null, - `entidade_id` int unsigned default null, - `local_coleta_id` int unsigned default null, - `variedade_id` int unsigned default null, - `tipo_id` int unsigned default null, - `data_identificacao_dia` tinyint unsigned default null, - `data_identificacao_mes` tinyint unsigned default null, - `data_identificacao_ano` year default null, - `situacao` enum('regular','permuta','emprestimo','doacao') default 'regular', - `especie_id` int unsigned default null, - `genero_id` int unsigned default null, - `familia_id` int unsigned default null, - `subfamilia_id` int unsigned default null, - `subespecie_id` int unsigned default null, - `nome_cientifico` text, - `colecao_anexa_id` int unsigned default null, - `cor` enum('vermelho','verde','azul') default null, - `data_coleta_mes` int unsigned default null, - `data_coleta_ano` int unsigned default null, - `solo_id` int unsigned default null, - `relevo_id` int unsigned default null, - `vegetacao_id` int unsigned default null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - `ativo` tinyint(1) default '1', - `taxon` varchar(45) default null, - `rascunho` tinyint(1) default '0', - `coletor_id` int unsigned default null, - primary key (`hcf`), - constraint `tombos_herbarios_fk` foreign key (`entidade_id`) references `herbarios` (`id`), - constraint `tombos_colecoes_anexas_fk` foreign key (`colecao_anexa_id`) references `colecoes_anexas` (`id`), - constraint `tombos_especies_fk` foreign key (`especie_id`) references `especies` (`id`), - constraint `tombos_familias_fk` foreign key (`familia_id`) references `familias` (`id`), - constraint `tombos_generos_fk` foreign key (`genero_id`) references `generos` (`id`), - constraint `tombos_locais_coleta_fk` foreign key (`local_coleta_id`) references `locais_coleta` (`id`), - constraint `tombos_subespecies_fk` foreign key (`subespecie_id`) references `subespecies` (`id`), - constraint `tombos_subfamilias_fk` foreign key (`subfamilia_id`) references `subfamilias` (`id`), - constraint `tombos_tipos_fk` foreign key (`tipo_id`) references `tipos` (`id`), - constraint `tombos_solos_fk` foreign key (`solo_id`) references `solos` (`id`), - constraint `tombos_relevos_fk` foreign key (`relevo_id`) references `relevos` (`id`), - constraint `tombos_vegetacoes_fk` foreign key (`vegetacao_id`) references `vegetacoes` (`id`), - constraint `tombos_coletores_fk` foreign key (`coletor_id`) references `coletores` (`id`), - index `tombos_situacao_idx` (`situacao`), - index `tombos_ativo_idx` (`ativo`), - index `tombos_taxonomia_idx` (`familia_id`, `genero_id`, `especie_id`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `coletores_complementares` ( - `hcf` int unsigned not null, - `complementares` varchar(1000) not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`hcf`), - constraint `coletores_complementares_tombos_fk` foreign key (`hcf`) references `tombos` (`hcf`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `identificadores` ( - `id` int unsigned not null auto_increment, - `nome` varchar(255) not null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - index `identificadores_nome_idx` (`nome`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `tombos_identificadores` ( - `identificador_id` int unsigned not null, - `tombo_hcf` int unsigned not null, - `ordem` tinyint unsigned default 1, - primary key (`identificador_id`, `tombo_hcf`), - constraint `tombos_identificadores_identificadores_fk` foreign key (`identificador_id`) references `identificadores` (`id`), - constraint `tombos_identificadores_tombos_fk` foreign key (`tombo_hcf`) references `tombos` (`hcf`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `tombos_fotos` ( - `id` int unsigned not null auto_increment, - `tombo_hcf` int unsigned not null, - `codigo_barra` varchar(45) default '', - `num_barra` varchar(45) default '', - `caminho_foto` text, - `em_vivo` tinyint(1) not null default '0', - `sequencia` int unsigned default null, - `ativo` tinyint(1) default '1', - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - constraint `tombos_fotos_tombos_fk` foreign key (`tombo_hcf`) references `tombos` (`hcf`), - index `tombos_fotos_ativo_idx` (`ativo`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `alteracoes` ( - `id` int unsigned not null auto_increment, - `usuario_id` int unsigned not null, - `status` enum('esperando','aprovado','reprovado') not null, - `observacao` text, - `ativo` tinyint(1) default '1', - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - `tombo_hcf` int unsigned not null, - `tombo_json` json, - `identificacao` tinyint(1) default '0', - primary key (`id`), - constraint `alteracoes_tombos_fk` foreign key (`tombo_hcf`) references `tombos` (`hcf`), - constraint `alteracoes_usuarios_fk` foreign key (`usuario_id`) references `usuarios` (`id`), - index `alteracoes_status_idx` (`status`), - index `alteracoes_ativo_idx` (`ativo`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - - -create table `retirada_exsicata_tombos` ( - `retirada_exsicata_id` int unsigned not null, - `tombo_hcf` int unsigned not null, - `tipo` enum('doacao','emprestimo','permuta') not null, - `data_vencimento` datetime default null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - `devolvido` tinyint(1) default '0', - primary key (`retirada_exsicata_id`,`tombo_hcf`), - constraint `retirada_exsicata_tombos_remessas_fk` foreign key (`retirada_exsicata_id`) references `remessas` (`id`), - constraint `retirada_exsicata_tombos_tombos_fk` foreign key (`tombo_hcf`) references `tombos` (`hcf`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; - -UNLOCK TABLES; diff --git a/src/database/migrations/20250426233245_configuracao.sql b/src/database/migrations/20250426233245_configuracao.sql deleted file mode 100644 index 629f4d8a..00000000 --- a/src/database/migrations/20250426233245_configuracao.sql +++ /dev/null @@ -1,13 +0,0 @@ -create table `configuracao` ( - `id` int unsigned not null auto_increment, - `hora_inicio` varchar(19) not null, - `hora_fim` varchar(19) default null, - `periodicidade` enum('manual','semanal','1mes','2meses') default null, - `data_proxima_atualizacao` varchar(10) default null, - `nome_arquivo` varchar(50) default null, - `servico` enum('reflora','specieslink') default null, - `created_at` datetime not null default current_timestamp, - `updated_at` datetime not null default current_timestamp on update current_timestamp, - primary key (`id`), - index `configuracao_servico_idx` (`servico`) -) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci; From c9ecfd8253caf6333f77136ef48183f37b2ce920 Mon Sep 17 00:00:00 2001 From: Edvaldo Szymonek Date: Tue, 12 Aug 2025 00:59:39 -0300 Subject: [PATCH 09/14] =?UTF-8?q?adiciona=20testes=20ao=20sistema=20de=20m?= =?UTF-8?q?igra=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + test/database/apply-migration-service.test.ts | 109 +++++++++++ .../database/create-migration-service.test.ts | 18 ++ test/database/migration-file-system.test.ts | 39 ++++ test/database/migration-repository.test.ts | 73 +++++++ yarn.lock | 182 +++++++++++++++++- 6 files changed, 413 insertions(+), 9 deletions(-) create mode 100644 test/database/apply-migration-service.test.ts create mode 100644 test/database/create-migration-service.test.ts create mode 100644 test/database/migration-file-system.test.ts create mode 100644 test/database/migration-repository.test.ts diff --git a/package.json b/package.json index f5c2ae64..e0dd9559 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "@babel/preset-react": "7.26.3", "@babel/preset-typescript": "7.22.15", "@types/express": "5.0.1", + "@types/jest": "30.0.0", "@types/react": "19.1.0", "@types/react-dom": "19.1.1", "@typescript-eslint/eslint-plugin": "6.7.0", diff --git a/test/database/apply-migration-service.test.ts b/test/database/apply-migration-service.test.ts new file mode 100644 index 00000000..3897ab4e --- /dev/null +++ b/test/database/apply-migration-service.test.ts @@ -0,0 +1,109 @@ +import { ApplyMigrationService } from '~/database/apply-migration-service' +import { MigrationFileSystem } from '~/database/migration-file-system' +import { MigrationRepository } from '~/database/migration-repository' + +describe('Database > Apply Migration Service', () => { + test('should apply all migrations', async () => { + // arrange + const migrationFileSystem = { + listMigrationFiles: jest.fn().mockResolvedValue([ + 'test/database/migrations/20250812025617_test1.ts', + 'test/database/migrations/20250812025618_test2.ts' + ]), + runMigrationFile: jest.fn() + } as unknown as MigrationFileSystem + const migrationRepository = { + ensureMigrationTableExists: jest.fn(), + getAppliedMigrations: jest.fn().mockResolvedValue([ + { name: '20250812025617_test1', applied_at: new Date() } + ]), + applyMigration: jest.fn() + } as unknown as MigrationRepository + + const applyMigrationService = new ApplyMigrationService({ migrationFileSystem, migrationRepository }) + + // act + await applyMigrationService.execute() + + // assert + expect(migrationFileSystem.listMigrationFiles).toHaveBeenCalled() + expect(migrationRepository.getAppliedMigrations).toHaveBeenCalled() + expect(migrationFileSystem.runMigrationFile).toHaveBeenCalledWith('20250812025618_test2') + expect(migrationRepository.applyMigration).toHaveBeenCalledWith('20250812025618_test2') + }) + + test('should not run a migration if it has already been applied', async () => { + // arrange + const migrationFileSystem = { + listMigrationFiles: jest.fn().mockResolvedValue([ + 'test/database/migrations/20250812025617_test1.ts' + ]), + runMigrationFile: jest.fn() + } as unknown as MigrationFileSystem + const migrationRepository = { + ensureMigrationTableExists: jest.fn(), + getAppliedMigrations: jest.fn().mockResolvedValue([ + { name: '20250812025617_test1', applied_at: new Date() } + ]), + applyMigration: jest.fn() + } as unknown as MigrationRepository + + const applyMigrationService = new ApplyMigrationService({ migrationFileSystem, migrationRepository }) + + // act + await applyMigrationService.execute() + + // assert + expect(migrationFileSystem.listMigrationFiles).toHaveBeenCalled() + expect(migrationRepository.getAppliedMigrations).toHaveBeenCalled() + expect(migrationFileSystem.runMigrationFile).not.toHaveBeenCalled() + expect(migrationRepository.applyMigration).not.toHaveBeenCalled() + }) + + test('should throw an error if the migration file does not exist', async () => { + // arrange + const migrationFileSystem = { + listMigrationFiles: jest.fn().mockResolvedValue([ + 'test/database/migrations/20250812025617_test1.ts' + ]), + runMigrationFile: jest.fn().mockRejectedValue(new Error('Migration file not found')) + } as unknown as MigrationFileSystem + const migrationRepository = { + ensureMigrationTableExists: jest.fn(), + getAppliedMigrations: jest.fn().mockResolvedValue([]), + applyMigration: jest.fn() + } as unknown as MigrationRepository + + const applyMigrationService = new ApplyMigrationService({ migrationFileSystem, migrationRepository }) + + // act + await expect(applyMigrationService.execute()).rejects.toThrow('Migration file not found') + + // assert + expect(migrationFileSystem.listMigrationFiles).toHaveBeenCalled() + expect(migrationRepository.getAppliedMigrations).toHaveBeenCalled() + expect(migrationRepository.applyMigration).not.toHaveBeenCalled() + }) + + test('should throw an error if there are missing files in the migration directory', async () => { + // arrange + const migrationFileSystem = { + listMigrationFiles: jest.fn().mockResolvedValue([ + 'test/database/migrations/20250812025617_test1.ts', + 'test/database/migrations/20250812025618_test2.ts' + ]) + } as unknown as MigrationFileSystem + const migrationRepository = { + ensureMigrationTableExists: jest.fn(), + getAppliedMigrations: jest.fn().mockResolvedValue([ + { name: '20250812025617_fake1', applied_at: new Date() } + ]), + applyMigration: jest.fn() + } as unknown as MigrationRepository + + const applyMigrationService = new ApplyMigrationService({ migrationFileSystem, migrationRepository }) + + // act & expect + await expect(applyMigrationService.execute()).rejects.toThrow('The migration directory is missing some files') + }) +}) diff --git a/test/database/create-migration-service.test.ts b/test/database/create-migration-service.test.ts new file mode 100644 index 00000000..e3d9f068 --- /dev/null +++ b/test/database/create-migration-service.test.ts @@ -0,0 +1,18 @@ +import { CreateMigrationService } from '~/database/create-migration-service' +import { MigrationFileSystem } from '~/database/migration-file-system' + +describe('Database > Create Migration Service', () => { + test('should create a migration file', async () => { + // arrange + const migrationFileSystem = { + createMigrationFile: jest.fn().mockResolvedValue('test/database/migrations/20250812025617_test.ts') + } as unknown as MigrationFileSystem + const createMigrationService = new CreateMigrationService({ migrationFileSystem }) + + // act + const migrationFile = await createMigrationService.execute('test') + + // assert + expect(migrationFile).toEqual(expect.stringMatching(/test\/database\/migrations\/[0-9]+_test\.ts/)) + }) +}) diff --git a/test/database/migration-file-system.test.ts b/test/database/migration-file-system.test.ts new file mode 100644 index 00000000..0fa22f43 --- /dev/null +++ b/test/database/migration-file-system.test.ts @@ -0,0 +1,39 @@ +import { Knex } from 'knex' +import fs from 'node:fs' + +import { MigrationFileSystem } from '~/database/migration-file-system' + +jest.mock('node:fs', () => ({ + writeFileSync: jest.fn(), + readdirSync: jest.fn() +})) + +describe('Database > Migration FileSystem', () => { + test('should create a migration file', async () => { + // arrange + const knex = {} as unknown as Knex + + const migrationFileSystem = new MigrationFileSystem({ knex, migrationsPath: 'test/database/migrations' }) + const migrationFile = await migrationFileSystem.createMigrationFile('test') + + // assert + expect(migrationFile).toEqual(expect.stringMatching(/test\/database\/migrations\/[0-9]+_test\.ts/)) + }) + + test('should list migration files', async () => { + // arrange + const knex = {} as unknown as Knex + + // @ts-expect-error + jest.mocked(fs).readdirSync.mockReturnValue(['20250812025617_migration1.ts', '20250812025618_migration2.ts']) + + const migrationFileSystem = new MigrationFileSystem({ knex, migrationsPath: 'test/database/migrations' }) + const migrationFiles = await migrationFileSystem.listMigrationFiles() + + // assert + expect(migrationFiles).toEqual([ + 'test/database/migrations/20250812025617_migration1.ts', + 'test/database/migrations/20250812025618_migration2.ts' + ]) + }) +}) diff --git a/test/database/migration-repository.test.ts b/test/database/migration-repository.test.ts new file mode 100644 index 00000000..0bff7a9f --- /dev/null +++ b/test/database/migration-repository.test.ts @@ -0,0 +1,73 @@ +import { Knex } from 'knex' + +import { MigrationRepository } from '../../src/database/migration-repository' + +describe('Database > Migration Repository', () => { + test('should create migration table if it does not exist', async () => { + // arrange + const knex = { + schema: { + createTable: jest.fn(), + hasTable: jest.fn().mockResolvedValue(false) + } + } as unknown as Knex + + // act + const migrationRepository = new MigrationRepository({ knex, tableName: 'migrations' }) + await migrationRepository.ensureMigrationTableExists() + + // assert + expect(knex.schema.createTable).toHaveBeenCalledWith('migrations', expect.any(Function)) + expect(knex.schema.hasTable).toHaveBeenCalledWith('migrations') + }) + + test('should not create migration table if it already exists', async () => { + // arrange + const knex = { + schema: { + createTable: jest.fn(), + hasTable: jest.fn().mockResolvedValue(true) + } + } as unknown as Knex + + // act + const migrationRepository = new MigrationRepository({ knex, tableName: 'migrations' }) + await migrationRepository.ensureMigrationTableExists() + + // assert + expect(knex.schema.createTable).not.toHaveBeenCalled() + }) + + test('should insert the migration name and applied_at date into the migration table', async () => { + // arrange + const insert = jest.fn() + const knex = jest.fn().mockReturnValue({ + insert + }) as unknown as Knex + + const migrationRepository = new MigrationRepository({ knex, tableName: 'migrations' }) + await migrationRepository.applyMigration('test') + + // assert + expect(knex).toHaveBeenCalledWith('migrations') + expect(insert).toHaveBeenCalledWith({ name: 'test', applied_at: expect.any(Date) }) + }) + + test('should return the list of applied migrations', async () => { + // arrange + const select = jest.fn().mockResolvedValue([ + { name: 'test', applied_at: new Date() } + ]) + const knex = jest.fn().mockReturnValue({ + select + }) as unknown as Knex + + const migrationRepository = new MigrationRepository({ knex, tableName: 'migrations' }) + const appliedMigrations = await migrationRepository.getAppliedMigrations() + + // assert + expect(knex).toHaveBeenCalledWith('migrations') + expect(select).toHaveBeenCalledWith(['name', 'applied_at']) + expect(appliedMigrations).toEqual([{ name: 'test', applied_at: new Date() }]) + }) +}) diff --git a/yarn.lock b/yarn.lock index 5c7e5feb..28c9ef8a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -67,6 +67,15 @@ js-tokens "^4.0.0" picocolors "^1.0.0" +"@babel/code-frame@^7.27.1": + version "7.27.1" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== + dependencies: + "@babel/helper-validator-identifier" "^7.27.1" + js-tokens "^4.0.0" + picocolors "^1.1.1" + "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.26.8": version "7.26.8" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz" @@ -250,6 +259,11 @@ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz" integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== +"@babel/helper-validator-identifier@^7.27.1": + version "7.27.1" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" + integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== + "@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.22.5", "@babel/helper-validator-option@^7.25.9": version "7.25.9" resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz" @@ -1292,6 +1306,11 @@ slash "^3.0.0" strip-ansi "^6.0.0" +"@jest/diff-sequences@30.0.1": + version "30.0.1" + resolved "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz#0ededeae4d071f5c8ffe3678d15f3a1be09156be" + integrity sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw== + "@jest/environment@^29.7.0": version "29.7.0" resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz" @@ -1302,6 +1321,13 @@ "@types/node" "*" jest-mock "^29.7.0" +"@jest/expect-utils@30.0.5": + version "30.0.5" + resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.5.tgz#9d42e4b8bc80367db30abc6c42b2cb14073f66fc" + integrity sha512-F3lmTT7CXWYywoVUGTCmom0vXq3HTTkaZyTAzIy+bXSBizB7o5qzlC9VCtq0arOa8GqmNsbg/cE9C6HLn7Szew== + dependencies: + "@jest/get-type" "30.0.1" + "@jest/expect-utils@^29.7.0": version "29.7.0" resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" @@ -1329,6 +1355,11 @@ jest-mock "^29.7.0" jest-util "^29.7.0" +"@jest/get-type@30.0.1": + version "30.0.1" + resolved "https://registry.npmjs.org/@jest/get-type/-/get-type-30.0.1.tgz#0d32f1bbfba511948ad247ab01b9007724fc9f52" + integrity sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw== + "@jest/globals@^29.7.0": version "29.7.0" resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz" @@ -1339,6 +1370,14 @@ "@jest/types" "^29.6.3" jest-mock "^29.7.0" +"@jest/pattern@30.0.1": + version "30.0.1" + resolved "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz#d5304147f49a052900b4b853dedb111d080e199f" + integrity sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA== + dependencies: + "@types/node" "*" + jest-regex-util "30.0.1" + "@jest/reporters@^29.7.0": version "29.7.0" resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz" @@ -1369,6 +1408,13 @@ strip-ansi "^6.0.0" v8-to-istanbul "^9.0.1" +"@jest/schemas@30.0.5": + version "30.0.5" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz#7bdf69fc5a368a5abdb49fd91036c55225846473" + integrity sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA== + dependencies: + "@sinclair/typebox" "^0.34.0" + "@jest/schemas@^29.6.3": version "29.6.3" resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" @@ -1426,6 +1472,19 @@ slash "^3.0.0" write-file-atomic "^4.0.2" +"@jest/types@30.0.5": + version "30.0.5" + resolved "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz#29a33a4c036e3904f1cfd94f6fe77f89d2e1cc05" + integrity sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ== + dependencies: + "@jest/pattern" "30.0.1" + "@jest/schemas" "30.0.5" + "@types/istanbul-lib-coverage" "^2.0.6" + "@types/istanbul-reports" "^3.0.4" + "@types/node" "*" + "@types/yargs" "^17.0.33" + chalk "^4.1.2" + "@jest/types@^29.6.3": version "29.6.3" resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" @@ -1539,6 +1598,11 @@ resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== +"@sinclair/typebox@^0.34.0": + version "0.34.38" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz#2365df7c23406a4d79413a766567bfbca708b49d" + integrity sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA== + "@sinonjs/commons@^3.0.0": version "3.0.1" resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz" @@ -1657,7 +1721,7 @@ resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1", "@types/istanbul-lib-coverage@^2.0.6": version "2.0.6" resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== @@ -1669,13 +1733,21 @@ dependencies: "@types/istanbul-lib-coverage" "*" -"@types/istanbul-reports@^3.0.0": +"@types/istanbul-reports@^3.0.0", "@types/istanbul-reports@^3.0.4": version "3.0.4" resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz" integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== dependencies: "@types/istanbul-lib-report" "*" +"@types/jest@30.0.0": + version "30.0.0" + resolved "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz#5e85ae568006712e4ad66f25433e9bdac8801f1d" + integrity sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA== + dependencies: + expect "^30.0.0" + pretty-format "^30.0.0" + "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.6": version "7.0.15" resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" @@ -1742,7 +1814,7 @@ "@types/node" "*" "@types/send" "*" -"@types/stack-utils@^2.0.0": +"@types/stack-utils@^2.0.0", "@types/stack-utils@^2.0.3": version "2.0.3" resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz" integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== @@ -1760,7 +1832,7 @@ resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz" integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== -"@types/yargs@^17.0.8": +"@types/yargs@^17.0.33", "@types/yargs@^17.0.8": version "17.0.33" resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz" integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== @@ -1930,7 +2002,7 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -ansi-styles@^5.0.0: +ansi-styles@^5.0.0, ansi-styles@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== @@ -2478,7 +2550,7 @@ chalk@^2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0: +chalk@^4.0.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -2536,6 +2608,11 @@ ci-info@^3.2.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== +ci-info@^4.2.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz#c39b1013f8fdbd28cd78e62318357d02da160cd7" + integrity sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ== + cjs-module-lexer@^1.0.0: version "1.4.3" resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz" @@ -3450,6 +3527,18 @@ expect@^29.7.0: jest-message-util "^29.7.0" jest-util "^29.7.0" +expect@^30.0.0: + version "30.0.5" + resolved "https://registry.npmjs.org/expect/-/expect-30.0.5.tgz#c23bf193c5e422a742bfd2990ad990811de41a5a" + integrity sha512-P0te2pt+hHI5qLJkIR+iMvS+lYUZml8rKKsohVHAGY+uClp9XVbdyYNJOIjSRpHVp8s8YqxJCiHUkSYZGr8rtQ== + dependencies: + "@jest/expect-utils" "30.0.5" + "@jest/get-type" "30.0.1" + jest-matcher-utils "30.0.5" + jest-message-util "30.0.5" + jest-mock "30.0.5" + jest-util "30.0.5" + express-validator@7.2.1: version "7.2.1" resolved "https://registry.npmjs.org/express-validator/-/express-validator-7.2.1.tgz#8403deaf810f9bededa0a4fd7116803e46f122c2" @@ -3959,7 +4048,7 @@ gopd@^1.0.1, gopd@^1.2.0: resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz" integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== -graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -4622,6 +4711,16 @@ jest-config@^29.7.0: slash "^3.0.0" strip-json-comments "^3.1.1" +jest-diff@30.0.5: + version "30.0.5" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.5.tgz#b40f81e0c0d13e5b81c4d62b0d0dfa6a524ee0fd" + integrity sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A== + dependencies: + "@jest/diff-sequences" "30.0.1" + "@jest/get-type" "30.0.1" + chalk "^4.1.2" + pretty-format "30.0.5" + jest-diff@^29.7.0: version "29.7.0" resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" @@ -4694,6 +4793,16 @@ jest-leak-detector@^29.7.0: jest-get-type "^29.6.3" pretty-format "^29.7.0" +jest-matcher-utils@30.0.5: + version "30.0.5" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.5.tgz#dff3334be58faea4a5e1becc228656fbbfc2467d" + integrity sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ== + dependencies: + "@jest/get-type" "30.0.1" + chalk "^4.1.2" + jest-diff "30.0.5" + pretty-format "30.0.5" + jest-matcher-utils@^29.7.0: version "29.7.0" resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz" @@ -4704,6 +4813,21 @@ jest-matcher-utils@^29.7.0: jest-get-type "^29.6.3" pretty-format "^29.7.0" +jest-message-util@30.0.5: + version "30.0.5" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz#dd12ffec91dd3fa6a59cbd538a513d8e239e070c" + integrity sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA== + dependencies: + "@babel/code-frame" "^7.27.1" + "@jest/types" "30.0.5" + "@types/stack-utils" "^2.0.3" + chalk "^4.1.2" + graceful-fs "^4.2.11" + micromatch "^4.0.8" + pretty-format "30.0.5" + slash "^3.0.0" + stack-utils "^2.0.6" + jest-message-util@^29.7.0: version "29.7.0" resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz" @@ -4719,6 +4843,15 @@ jest-message-util@^29.7.0: slash "^3.0.0" stack-utils "^2.0.3" +jest-mock@30.0.5: + version "30.0.5" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz#ef437e89212560dd395198115550085038570bdd" + integrity sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ== + dependencies: + "@jest/types" "30.0.5" + "@types/node" "*" + jest-util "30.0.5" + jest-mock@^29.7.0: version "29.7.0" resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz" @@ -4733,6 +4866,11 @@ jest-pnp-resolver@^1.2.2: resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== +jest-regex-util@30.0.1: + version "30.0.1" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz#f17c1de3958b67dfe485354f5a10093298f2a49b" + integrity sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA== + jest-regex-util@^29.6.3: version "29.6.3" resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz" @@ -4842,6 +4980,18 @@ jest-snapshot@^29.7.0: pretty-format "^29.7.0" semver "^7.5.3" +jest-util@30.0.5: + version "30.0.5" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz#035d380c660ad5f1748dff71c4105338e05f8669" + integrity sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g== + dependencies: + "@jest/types" "30.0.5" + "@types/node" "*" + chalk "^4.1.2" + ci-info "^4.2.0" + graceful-fs "^4.2.11" + picomatch "^4.0.2" + jest-util@^29.7.0: version "29.7.0" resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" @@ -5886,6 +6036,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^4.0.2: + version "4.0.3" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" + integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== + pidtree@^0.3.0: version "0.3.1" resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz" @@ -5937,6 +6092,15 @@ prelude-ls@^1.2.1: resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +pretty-format@30.0.5, pretty-format@^30.0.0: + version "30.0.5" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz#e001649d472800396c1209684483e18a4d250360" + integrity sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw== + dependencies: + "@jest/schemas" "30.0.5" + ansi-styles "^5.2.0" + react-is "^18.3.1" + pretty-format@^29.7.0: version "29.7.0" resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" @@ -6089,7 +6253,7 @@ react-dom@19.1.0: dependencies: scheduler "^0.26.0" -react-is@^18.0.0: +react-is@^18.0.0, react-is@^18.3.1: version "18.3.1" resolved "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== @@ -6699,7 +6863,7 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -stack-utils@^2.0.3: +stack-utils@^2.0.3, stack-utils@^2.0.6: version "2.0.6" resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== From 285282ec95e6d645dee0fe4d1de59326d696525b Mon Sep 17 00:00:00 2001 From: Edvaldo Szymonek Date: Tue, 12 Aug 2025 01:07:50 -0300 Subject: [PATCH 10/14] =?UTF-8?q?remove=20configura=C3=A7=C3=A3o=20desnece?= =?UTF-8?q?ss=C3=A1ria=20do=20MySQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index dbc02d62..d0f5b302 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,6 @@ services: MYSQL_ROOT_PASSWORD: $MYSQL_PASSWORD volumes: - ./mysql/data:/var/lib/mysql - - ./mysql/init.d:/docker-entrypoint-initdb.d ports: - ${MYSQL_PORT}:3306 command: From e50be0414d34a7bbbd1c1f0f51e25eef17c9d120 Mon Sep 17 00:00:00 2001 From: Edvaldo Szymonek Date: Tue, 12 Aug 2025 01:09:25 -0300 Subject: [PATCH 11/14] =?UTF-8?q?renomeia=20diret=C3=B3rios=20no=20singula?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/database/apply-migration-service.ts | 2 +- src/database/{errors => error}/corrupted-directory-error.ts | 0 src/database/{migrations => migration}/.gitkeep | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename src/database/{errors => error}/corrupted-directory-error.ts (100%) rename src/database/{migrations => migration}/.gitkeep (100%) diff --git a/src/database/apply-migration-service.ts b/src/database/apply-migration-service.ts index e1d3d57e..e2d0b21f 100644 --- a/src/database/apply-migration-service.ts +++ b/src/database/apply-migration-service.ts @@ -1,6 +1,6 @@ import path from 'node:path' -import { CorruptedDirectoryError } from './errors/corrupted-directory-error' +import { CorruptedDirectoryError } from './error/corrupted-directory-error' import { MigrationFileSystem } from './migration-file-system' import { MigrationRepository } from './migration-repository' diff --git a/src/database/errors/corrupted-directory-error.ts b/src/database/error/corrupted-directory-error.ts similarity index 100% rename from src/database/errors/corrupted-directory-error.ts rename to src/database/error/corrupted-directory-error.ts diff --git a/src/database/migrations/.gitkeep b/src/database/migration/.gitkeep similarity index 100% rename from src/database/migrations/.gitkeep rename to src/database/migration/.gitkeep From b7c17594ead82e39527299bf8bd9c4029a94d657 Mon Sep 17 00:00:00 2001 From: Edvaldo Szymonek Date: Tue, 12 Aug 2025 01:15:16 -0300 Subject: [PATCH 12/14] executa testes na pipeline --- .github/workflows/pull_request.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 7bf4afc5..98f3ad4b 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -1,5 +1,4 @@ name: pull-request -run-name: 'Validate #${{github.event.pull_request.number}} ${{github.event.pull_request.title}}' on: - pull_request @@ -14,3 +13,13 @@ jobs: node-version: 'lts/jod' - run: yarn install - run: yarn lint + + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 'lts/jod' + - run: yarn install + - run: yarn test --silent test/**/*.test.ts From e74e1c8f71946ddd5e277c68f85319aacae6a562 Mon Sep 17 00:00:00 2001 From: Edvaldo Szymonek Date: Tue, 12 Aug 2025 01:17:24 -0300 Subject: [PATCH 13/14] corrige teste com data --- test/database/migration-repository.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/database/migration-repository.test.ts b/test/database/migration-repository.test.ts index 0bff7a9f..f842ce7c 100644 --- a/test/database/migration-repository.test.ts +++ b/test/database/migration-repository.test.ts @@ -68,6 +68,6 @@ describe('Database > Migration Repository', () => { // assert expect(knex).toHaveBeenCalledWith('migrations') expect(select).toHaveBeenCalledWith(['name', 'applied_at']) - expect(appliedMigrations).toEqual([{ name: 'test', applied_at: new Date() }]) + expect(appliedMigrations).toEqual([{ name: 'test', applied_at: expect.any(Date) }]) }) }) From 4a3389532370ca86da71eb4e4fbfe6288c1ca156 Mon Sep 17 00:00:00 2001 From: Yuri Baza Date: Tue, 12 Aug 2025 11:53:35 -0300 Subject: [PATCH 14/14] Muda tabela de findAll para identificadores (#140) --- src/controllers/usuarios-controller.js | 5 ++--- src/routes/identificador.js | 10 +++++----- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/controllers/usuarios-controller.js b/src/controllers/usuarios-controller.js index 59df7fe0..63bcdb35 100644 --- a/src/controllers/usuarios-controller.js +++ b/src/controllers/usuarios-controller.js @@ -6,7 +6,7 @@ import models from '../models'; import codigos from '../resources/codigos-http'; const { - Sequelize: { Op }, Usuario, TipoUsuario, Coletor, + Sequelize: { Op }, Usuario, TipoUsuario, Coletor, Identificador, } = models; export const encontraUsuarioAtivoPorEmail = email => { @@ -262,11 +262,10 @@ export const obtemIdentificadores = (request, response, next) => { const { nome } = request.query; Promise.resolve() - .then(() => Usuario.findAll({ + .then(() => Identificador.findAll({ attributes: ['id', 'nome'], order: [['nome', 'ASC']], where: { - ativo: true, nome: { [Op.like]: `%${nome}%` }, }, limit: 10, diff --git a/src/routes/identificador.js b/src/routes/identificador.js index 454f831f..52c1a466 100644 --- a/src/routes/identificador.js +++ b/src/routes/identificador.js @@ -1,6 +1,6 @@ import * as identificadoresController from '../controllers/identificador-controller'; import listagensMiddleware from '../middlewares/listagens-middleware'; -import tokensMiddleware from '../middlewares/tokens-middleware'; +import tokensMiddleware, { TIPOS_USUARIOS } from '../middlewares/tokens-middleware'; import validacoesMiddleware from '../middlewares/validacoes-middleware'; import atualizarIdentificadorEsquema from '../validators/identificador-atualiza'; import cadastrarIdentificadorEsquema from '../validators/identificador-cadastro'; @@ -62,7 +62,7 @@ export default app => { * $ref: '#/components/responses/InternalServerError' */ app.route('/identificadores').post([ - tokensMiddleware(['CURADOR']), + tokensMiddleware([TIPOS_USUARIOS.CURADOR]), validacoesMiddleware(cadastrarIdentificadorEsquema), identificadoresController.cadastraIdentificador, ]); @@ -103,7 +103,7 @@ export default app => { * $ref: '#/components/responses/InternalServerError' */ app.route('/identificadores/:id').get([ - tokensMiddleware(['CURADOR']), + tokensMiddleware([TIPOS_USUARIOS.CURADOR]), listagensMiddleware, identificadoresController.encontradaIdentificador, ]); @@ -167,7 +167,7 @@ export default app => { * $ref: '#/components/responses/InternalServerError' */ app.route('/identificadores').get([ - tokensMiddleware(['CURADOR']), + tokensMiddleware([TIPOS_USUARIOS.CURADOR]), validacoesMiddleware(listarIdentificadoresEsquema), listagensMiddleware, identificadoresController.listaIdentificadores, @@ -225,7 +225,7 @@ export default app => { * $ref: '#/components/responses/InternalServerError' */ app.route('/identificadores/:id').put([ - tokensMiddleware(['CURADOR']), + tokensMiddleware([TIPOS_USUARIOS.CURADOR]), validacoesMiddleware(atualizarIdentificadorEsquema), identificadoresController.atualizaIdentificador, ]);